Brainfuck - язык программирования для хакера
Brainfuck – это экстремально минималистичный язык программирования, который состоит всего из восьми инструкций.
Инструкции Brainfuck:
- ">" - инкремент указателя на одну ячейку;
- "<" - декремент указателя на одну ячейку;
- "+" - инкремент значения текущей ячейки на один;
- "-" - декремент значения текущей ячейки на один;
- "." - вывод значения текущей ячейки на экран;
- "," - ввод значения из входного потока в текущую ячейку;
- "[" - начало цикла;
- "]" - конец цикла.
Примеры использования Brainfuck:
1. Программа, которая выводит "Hello, world!":
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
2. Программа, которая складывает два числа (вводится с клавиатуры):
,>++++++[<-------->-],[<+>-]<.
3. Программа, которая выводит числа от 0 до 9:
++++++++[->++++++<]>+>>+>+>++>+[<]<[[->>>+<<<]>]<<[>>+<<-]>>[-<<+>>]<<<[-]>>[->>+<<]>>>
[-<<<+>>>]<<<[[-]>+>]<<[->>+<<]>[-<+>]<<<[->+<]>[-<+>]<<<[-]>>[<<->>-]<<[-]<<[-]<<[-]<.
Brainfuck может быть использован для написания простых программ, однако из-за его минимализма и отсутствия простых структур управления, написание сложных алгоритмов может быть затруднительным. Кроме того, Brainfuck не очень удобен для человека, поскольку его синтаксис нельзя считать интуитивным.