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

Brainfuck (англ. brain+fuck) — один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером (Urban Müller) в 1993 году для забавы. Язык имеет восемь команд, каждая из которых записывается одним символом. Исходный код программы на Brainfuck представляет собой последовательность этих символов без какого-либо дополнительного синтаксиса.
Одним из мотивов Урбана Мюллера было создание языка с как можно меньшим компилятором. Отчасти он был вдохновлен языком FALSE, для которого существовал компилятор размера 1024 байта. Существуют компиляторы языка Brainfuck размера меньше 200 байт. Программы на языке Brainfuck писать сложно, за что его иногда называют языком для мазохистов. Но при этом важно отметить, что Brainfuck является вполне естественным, полным и простым языком и может использоваться при определении понятия вычислимости. Машина, которой управляют команды Brainfuck, состоит из упорядоченного набора ячеек и указателя текущей ячейки, напоминая ленту и головку машины Тьюринга. Кроме того, подразумевается устройство общения с внешним миром (см. команды. и ,) через поток ввода и поток вывода.8 команд языка Brainfuck: Программа на языке Brainfuck, печатающая «Hello World!»:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.
Разбор программы: Подготовка в памяти (с ячейки 1) массива значений, близких к ASCII-кодам символов, которые необходимо вывести (70, 100, 30, 10), через повторение 10 раз приращения ячеек на 7, 10, 3 и 1, соответственно ++++++++++ присваивание ячейке 0 (счетчику) значения 10 [ повторять, пока значение текущей ячейки (ячейки 0) больше нуля >+++++++ приращение ячейки 1 на 7 >++++++++++ приращение ячейки 2 на 10 >+++ приращение ячейки 3 на 3 >+ приращение ячейки 4 на 1 <<<<- возврат к ячейке 0 (счетчику), и его уменьшение на 1 ] вернуться к началу цикла Получение кодов букв и их вывод >++. Вывод «Н». Получение кода «H» (72) из 70 в ячейке 1 и вывод >+. Вывод «e». Получение кода «e» (101) из 100 в ячейке 2 и вывод +++++++… Вывод «ll». Получение кода «l» (108) из 101 в ячейке 2 и вывод дважды +++. Вывод «o». Получение кода «o» (111) из 108 в ячейке 2 и вывод >++. Вывод пробела. Получение кода пробела (32) из 30 в ячейке 3 и вывод <<+++++++++++++++. Вывод «W». Получение кода «W» (87) из 72 в ячейке 1 и вывод >. Вывод «o». Код «o» (111) уже находится в ячейке 2, просто его выводим +++. Вывод «r». Получение кода «r» (114) из 111 в ячейке 2 и вывод ------. Вывод «l». Получение кода «l» (108) из 114 в ячейке 2 и вывод --------. Вывод «d». Получение кода «d» (100) из 108 в ячейке 2 и вывод >+. Вывод «!». Получение кода «!» (33) из 32 в ячейке 3 и вывод >. Вывод кода перевода строки (10) из ячейки 4
  • +8
  • 14 сентября 2008, 00:54
  • BIT

Комментарии (11)

RSSсвернуть /развернуть
+
0
Это боян, разработчиков в газенваген, посмотрите скока языков уже есть, а они все придумываю и придумывают…
avatar

evklaz

  • 14 сентября 2008, 01:04
+
0
Ужас! Я и так едва программирование понимаю, а это ваще бошку свернуло! beНе зря видать брэйнфак! ag
avatar

Cold_fusion

  • 14 сентября 2008, 01:29
+
0
evklaz,
боянист, если читать умеешь то должен заметить пару букаф, а именно
придуман Урбаном Мюллером (Urban Mьller) в 1993 году для забавы.
avatar

DeStRoYeR

  • 14 сентября 2008, 01:31
+
0
фак мой мозг) брайн фак
avatar

V1985

  • 14 сентября 2008, 02:51
+
0
полная копипаста с педивикии. низачот.
avatar

s-w-i-n-

  • 14 сентября 2008, 08:37
+
0
фак мой брейн agкак на этом вообще можно писать bm
avatar

AloneWolf

  • 14 сентября 2008, 10:29
+
0
DeStRoYeR,
DeStRoYeR,
Существуют компиляторы языка Brainfuck размера меньше 200 байт.

Он по-твоему все компиляторы сам пишет????, в мире извращенцев тьма www.muppetlabs.com/~breadbox/bf/ здесь есть ссылки на бояниские ресурсы, а вто здесь русский ЖЖ боянистов community.livejournal.com/ru_brai
nfucker/, так что не выкобенивайся.
avatar

evklaz

  • 14 сентября 2008, 10:40
+
0
мда… забавный язык! иначе говоря возвращает всё понятие информация назад в прошлое, где были только 0 и 1…
голову однако хорошо этот язык разминает ab
avatar

Roxy

  • 14 сентября 2008, 12:45
+
0
Прикольный язык программирования! be
avatar

SM0KE

  • 14 сентября 2008, 13:24
+
0
ща дым из ушей пойдёт be
avatar

WraGer

  • 14 сентября 2008, 14:57
+
0
гы))) а ещё говорят типа ассемблер с развесёлыми регистрами мозг рушит))) зачот афтор!
avatar

No_nick

  • 14 сентября 2008, 19:45

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Валидный HTMLВалидный CSSRambler's Top100