Кіріспе

Эзотерикалық, минималистік бағдарламалау тілі. Brainfuck – 1993 жылы Урбан Мюллер жасаған эзотерикалық бағдарламалау тілі. Өте минималистік болуымен ерекшеленетін бұл тілде тек сегіз қарапайым команда, дерек көрсеткіші және нұсқау көрсеткіші бар. Brainfuck – «Тьюрингтің құмырасы» деп аталатын мысал: оны кез келген бағдарламаны жазу үшін пайдалануға болады, бірақ ол іс жүзінде тиімді емес, себебі Brainfuck абстракцияны өте аз ұсынады, сондықтан бағдарламалар тым ұзын немесе күрделі болып кетеді. Brainfuck толыққанды Тьюрингтік болғанымен, оның мақсаты практикалық қолдану емес, бағдарламашыларды сынау және көңіл көтеру. Brainfuck командаларды ең ұсақ қадамдарға бөлуді талап етеді. Тілдің атауы – «brainfuck» сленг терминіне сілтеме, ол адамның түсінік шегінен асып түсетіндей күрделі немесе ерекше нәрселерді білдіреді, себебі ол нақты бағдарламалық құрал жасау үшін емес, компьютерлік бағдарламалау шегін сынау үшін жасалған. Тіл атауындағы қатыгез сөздерге байланысты, brainfsck, branflakes, brainoof, brainfrick, BrainF және BF сияқты көптеген басқа атаулар қолданылады.

Тарих

Мюллер Brainfuck-ті FALSE бағдарламалау тілі үшін 1024 байттық компилятордан шабыттандырылып, ең кішкентай мүмкін компиляторды жасау мақсатымен құрастырды. Мюллердің алғашқы компиляторы машина тілінде іске асырылды және 296 байт көлемді бинарлық файлға компиляцияланды. Ол 1993 жылы Brainfuck-тің алғашқы компиляторын Aminet желісіне жүктеді. Бағдарламамен бірге "Readme" файлы да келді, онда тіл туралы қысқаша мәлімет берілді және оқырманға "Осы тілде пайдалы нәрсе бағдарламалай алатын болса, кім бар?" деген сұрақ қойылды :) . Мюллер сонымен қатар интерпретатор және бірнеше мысалдар да қосты. Компилятордың екінші нұсқасы бар болғаны 240 байтты құрады.

P"

Екі I/O командасын қоспағанда, Brainfuck 1964 жылы Коррадо Бём жасаған P" формалды бағдарламалау тілінің шағын өзгеруі болып табылады, ол тікелей Тьюринг машинасының негізінде құрылған. Шындығында, Бём Brainfuck командаларына балама алты символды +, , <, >, [, ] қолданып, кез келген есептелетін функцияны есептеуге қажетті негізгі функциялардың әрқайсысы үшін нақты бағдарлама берді. Осылайша, алғашқы "Brainfuck" бағдарламалары Бёмнің 1964 жылғы мақаласында пайда болды және олар Тьюринг толықтығын дәлелдеу үшін жеткілікті болды.