Язык Brainfuck — один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером(Urban Muller) для забавы. Состоит из восьми команд, каждая из которых записывается одним символом.
Машина, которой управляют команды Brainfuck, состоит из упорядоченного набора ячеек и указателя текущей ячейки, напоминая ленту и головку машины Тьюринга.
Несмотря на внешнюю примитивность, Brainfuck с бесконечным набором ячеек имеет тьюрингову полноту, а следовательно, не уступает по возможностям любым другим языкам программирования.
8 команд языка:
"+" прибавить 1 к текущей ячейке
"-" отнять 1 из текущей ячейки
"[" начало цикла (условие - текущая ячейка != 0)
"]" конец цикла
">" указатель++
"<" указатель--
"." вывести символ
"," ввести символ Примеры программы Hello, world: ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++ .>+.+++++++..+++.>++.<<+++++++++++++++.>.+++. ------.--------.>+.>. Еще одна реализация примера программы Hello, world: +++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++.+++++++++++++++++ ++++++++++++.+++++++..+++.------------------- --------------------------------------------- ---------------.+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++.++++++++++++++++++ ++++++.+++.------.--------.------------------ --------------------------------------------- ----.-----------------------.