Другое

Язык программирования Brainfuck: определение и область применения

Lorem ipsum dolor

Brainfuck — это совсем не ругательство, как может показаться с первого взгляда, ведь все мы можем перевести это слово с английского. Брейнфак — это один из очень экзотических и даже эзотерических языков программирования, применение которых бессмысленно, но которые имеют право на существование.

Всего за историю программирования было разработано около 9000 языков программирования! И это не шутка и не преувеличенное число! Сейчас иметь свой собственный язык программирования — это приличный тон успешной компании, поэтому их так много. Но Брейнфак — это один из языков, которые были придуманы без практического применения, а просто для того, чтобы что-то доказать или сделать. Конкретная цель этого языка — сделать с мозгами программиста то, что описывает его название.

Брейнфак

Брейнфак был разработан в 1993-м году программистом Urban Müller. С тех пор язык не приобрел никаких изменений и до сих пор сохранился в авторской версии. Он не имеет коммерческой ценности и не применяется в разработке. Везде, где его можно заметить, — это какая-то любительская организация небольшой бессмысленной программы каким-нибудь программистом-мазохистом.

Но несмотря на собственную бессмысленность, Брейнфак был создан не просто так. Авторская цель была не просто заставить программистов ломать свой мозг, а создать язык с самым «маленьким» компилятором в мире. Вес авторского компилятора был всего 240 байт, чуть позже другим программистам удалось уменьшить вес компилятора до 200 байт. Цель была достигнута — языка с еще меньшим компилятором не существует и по сей день. Но это не придает данному языку никакой профессиональной ценности.

 

Brainfuck как язык программирования

Брейнфак — это язык-парадокс. С одной стороны, в практике он нигде не применяется из-за своеобразного синтаксиса и сложности в программировании, и любая, даже очень мелкая программа — это «взрыв мозга» для программиста; а с другой стороны, в теории этот язык способен выполнять любую поставленную задачу.

Брейнфак состоит всего из 8 операторов:

  1. «+» увеличивает на единицу значение в текущей ячейке;

  2. «-» уменьшает на единицу значение ячейки;

  3. «>» сдвигает данные на одну 1 ячейку вправо;

  4. «<» сдвигает данные на 1 ячейку влево;

  5. «[» начинает цикл;

  6. «]» оканчивает цикл;

  7. «.» выводит значение ячейки в качестве символа ASCII;

  8. «,» читает символы потоков ввода и сохраняет их в ячейке как символ ASCII.

Все остальные символы, кроме перечисленных, попадают в «комментарии», поэтому не обрабатываются компилятором.

Примеры программ на Брейнфак 

Программы на языке программирования Брейнфак имеют довольно интересный вид, поэтому не всегда понятны многим программистам. Вот несколько примеров простейших программ:

  1. «+++++[-]». Этот скрипт увеличивает заданное значение на 5, а потом открыли цикл, который будет уменьшать значение до 0.

  2. «>>>>++<<+>>+». Этот скрипт записывает 2 в ячейку №4, потом 1 записали в ячейку №2, а потом сложили 1 и 4.

  3. «++++++++++[>++++ +++>++++++++++> +++>+<<<<-]>++.>+.+++++++..+++. >++.<<+++++++++++++++.>.+++.——. ——--.>+.>» А это одна из версий того, как написать известную всем начинающим программистам фразу: «Привет, мир!».

Кстати, «Привет, мир!» можно записать в нескольких вариантах, и это на одном и том же языке. Представьте, если захотите писать что-то сложнее, чем «Привет, мир!».

Итог

Брейнфак никогда не был конкурентом ни одному из существующих языков. Хотя, как уже говорилось, теоретически на нем можно написать любую программу. Многие программисты пытались понять и изучить этот язык — это реально. Но, по их же отзывам, изучать его для серьезного применения нет смысла, так как на написание чего-либо стоящего уйдет уйма времени и энергии. А если поразвлечься и потренировать собственные мозги, то это самое то!

 

Схожие статьи

Что такое NLP: расшифровываем термин простыми словами для чайников
Другое

Что такое NLP: расшифровываем термин простыми словами для чайников

Современные методы разработки программного обеспечения для ПК
Другое

Современные методы разработки программного обеспечения для ПК

1C: ошибка преобразования данных XML-файла, неверный формат документа
Другое

1C: ошибка преобразования данных XML-файла, неверный формат документа

Как включить реальный и защищенный режимы работы процессора
Другое

Как включить реальный и защищенный режимы работы процессора

×