BrainFuck

Материал из Lurkmore.

(Перенаправлено с Brainfuck)
Перейти к: навигация, поиск
В эту статью нужно добавить как можно больше косплееров-лесбиянок.
Также сюда можно добавить интересные факты, картинки и прочие кошерные вещи.

BrainFuck — один из эзотерических языков программирования, язык-головоломка. Тем не менее, на нём вполне успешно пишут программы. Целью его создателя был тьюринг-полный язык с компилятором минимального размера.

Содержание

[править] Синтаксис

Синтаксис брейнфака состоит из команд сдвига читающей головки влево-вправо, уменьшения-увеличения текущего значения на единицу, чтения-записи и организации while-цикла. Всего — восемь команд.

[править] Хелловорлд

Хелловорлд на брейнфаке:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++. >.+++.------.--------.>+.>.

Бессмысленный набор символов становится вполне чуть более понятным после ознакомления с коротким описанием синтаксиса (или здесь). Программы пишутся достаточно легко, но недостаток выразительных средств даёт о себе знать.

[править] Употребление

Как самый известный из эзотерических языков программирования BrainFuck стал (нередко ошибочно, т.к. создавался для других целей, а для списка ниже есть примеры более целевых языков) синонимом

  • Нечитаемости программ
  • Неудобства или непродуманности синтаксиса

Перл — это тот же brainfuck, только автор его, почему-то, воспринимает серьезно. Может, конечно, это он так издевается, и тащится от того, что мир подхватил его версию brainfuck и строчит на нем да фанатеет...

http://www.linux.org.ru/jump-message.jsp?msgid=2068951&cid=2070791
  • Неудобства инструмента разработки

— Нормальному программисту не важно на чем и под какую платформу писать...
— Брейнфак под дос.

http://www.linux.org.ru/jump-message.jsp?msgid=2464082&cid=2469806
  • Мазохизма

—...если вы настоящий мазохист-извращенец, если вам нравится преодолевать непреодолимое и выполнять невыполнимое, то ваш выбор — это BAT-скрипты.
— С машиной Тьюринга (или с BrainFuck, что почти то же самое) не сравнить...

http://90h.livejournal.com/23564.html?thread=84236
  • Примера, чем чревато излишнее упрощение

— В российских школах будут преподавать программирование на Delphi и C++Builder.
— ...слава богу, хоть не лисп...
— Надо вообще на COBOL'е или на FORTRAN'е учить. Хотя, самый простой, конечно Brainfuck.

http://www.linux.org.ru/jump-message.jsp?msgid=1844700&cid=1846185
  • Мозгокрутных логических задач, не имеющих практической ценности

Brainfuck. Задача для детей дошкольного возраста. Забудь тому, чему тебя учили в школе. Детишки дошколята решают ее в среднем за 3 минуты. 8809=6; 7111=0; 2172=0; 6666=4; 1111=0; 3213=0; 7662=2; 9312=1; 0000=4; 2222=0; 3333=0; 5555=0; 8193=3; 8096=5; 7777=0; 9999=4; 7756=1; 6855=3; 9881=5; 5531=0.
2581=?

http://forum.bobr.by/viewtopic.php?f=1&t=568&st=0&sk=t&sd=a&sid=65f4246f6d6821ea1cd0f7962b8c4ca6
  • Насмешки при сравнении языков программирования

Пых-пых что-то достал, хочется чего-то нового, с большими возможностями... ...
— Ну автору сабжа же нужно "что-то новое, с большими возможностями". Вот brainfuck ему как раз и подойдет. Утрамбует его моск немножко. Научиться яснее выражать свои мысли, и мы ему быстрее сможем помочь.

http://www.linux.org.ru/jump-message.jsp?msgid=1844700&cid=1846185

[править] Кроме того

  • Из-за практической бесполезности трансляторы брейнфака, байндинги для распространённых библиотек, модули для Apache и т. п. не получают распространения.
  • Из-за простоты языка писать их сравнительно легко.
  • Что делает написание подобных вещей полезным для тренировки и самоутверждения.
  • Существует ряд Brainfuck-based языков программирования, например, любители Терри Пратчетта оценят язык Ook
  • Поговаривают, что для bf был спаян процессор. И не врут.
  • Существует язык программирования Malbolge, который гораздо страшнее Brainfuck’а. Настолько, что первую работающую программу создали только через 2 года после выпуска интерпретатора Malbolge.

[править] Ссылки

[править] См. также

Источник — «http://lurkmore.ru/BrainFuck»
Личные инструменты
Инструменты

На других языках