Языки, которые мы не полюбили

Поговорим о странных языках программирования.
10 декабря 2015326451Илья Бубнов63201631

Языки программирования как людские мнения — их бесчисленное количество, и лишь малое количество из них хочется понимать. Поэтому совсем неудивительно, что в противовес каждому будничному Ruby найдётся свой ад Ада. Что уж говорить о попытках отдельных людей создать свой уникальный язык на основе своего хобби или уникального видения мира. О самых смешных и удивительных эзотерических случаях ниже.

Whitespace

Практически все подобные творения имеют красноречивые названия, и «Whitespace» совсем не исключение. В 2002 году Эдвин Брэди и Крис Моррис задались целью создать язык на основании лишь непечатаемых символов (по-английски «пробел» — «whitespace»). 1 апреля 2003 года, в день публикации, многие сочли это забавной первоапрельской шуткой, но не тут-то было. В итоге язык обрёл популярность, но до международного признания не дошел.

Поглядеть на чистый лист: Whitespace tutorial

Velato

Вы когда-нибудь задумывались о том, как звучит ваш код? А вот человек с никнеймом Rottytooth в один прекрасный день задумался. Иначе как ещё объяснить изобретение им языка Velato, создаваемого в виде нот и воспроизводимого в формате midi.

Hello World Velato:

Piet/Chef

Живёт на свете один замечательный человек Дэвид Морган-Мар. И хлебом его не корми, дай изобрести забавный язык программирования. Расскажем лишь о двух наиболее известных. Chef — попытка обучить программированию людей, влюблённых лишь в кулинарию. Переменные здесь можно называть лишь именами продуктов, после чего необходимо поместить их в чашу (она же стек) и, например, смешать (операция с переменными).

Перекусить: Chef

Пит Мондриан — художник рубежа 19 и 20 века, вместе с Малевичем и Кандинским создавший направление абстрактной живописи. Морган-Мар также оказался впечатлён его творчеством, да так, что создал язык Piet, способный воссоздавать картины нидерландского гения. К вашим услугам 20 цветов, 18 из которых имеют атрибуты яркости и оттенка. Цветные блоки — данные, границы и черные блоки — точки останова и перехода интерпретатора, операции определяются количеством шагов по коду и яркостью.

Ничего не поняли? Зато красиво:

Shakespeare

В «Shakespeare» переменные, названные именами героев, в актах и сценах общаются друг с другом (операции ввода-вывода), задают насущные вопросы (аналог if) и периодически покидают сцену (правила пьесы позволяют одновременную работу только с двумя шекспировским личностями).

Восхититься: The Shakespeare Programming Language

Omgrofl

Omgrofl (и его аналог Lolcode) в сравнении с остальными прямо-таки отрыжка интернет-тролля. Собственно, именно от сленга этих персонажей и произошла идея данного языка. Все переменные здесь носят имя lol с разным количеством символов «o» в середине. То есть если вы хотите создать хотя бы 10 штук, вам придётся иметь дело, как минимум, с loooooooool. Операции носят такие названия, как «lmao», «n00b», «wtf» и подобные.

Brainfuck

Нет, не подумайте ничего плохого, это просто «Мозгчёрт». На самом деле это очень известный и популярный язык программирования, созданный скорее для развлечения, нежели серьёзных задач (да, до этого были крайне полезные языки). Он был создан в 1993 году Урбаном Мюллером и состоит всего из 8 символов: «>», «<», «+», «–», «.», «,», «[», «]». Фактически язык очень близок к машине Тьюринга.

В дебри операций и переменных погружаться не будем, просто приведём Hello World:

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

Chicken/Ook

Языки побратимы в том, плане, что для изучения основ вам потребуется 10 секунд, а для написания хоть сколько-то серьёзного кода — полжизни. В Chicken вы оперируете лишь словом «chicken». Ook пошёл чуть дальше и здесь царит разнообразие: к вашим услугам «Ook», «!», «?», «.». Вы ещё утверждаете, что есть ограниченные языки?

INTERCAL

Один из старейших эзотерических языков (создан в 1972 году Доном Вудсом и Джеймсом Лайоном). В отличие от перечисленных выше языков, в Intercal достаточно понятные алгоритмы, но с небольшими «сюрпризами». Ирония заключается в использовании абсолютно бесполезных слов и знаков (этим грешили многие программные коды того времени). Так, например, в одной из модификаций для выполнения любой операции следует ласково попросить компьютер вставкой «please».  В других случаях надо призвать программу забыть («forget») или игнорировать написанное («ignore»).

Malbolge

Язык, при изучении которого вам совсем не захочется смеяться. Его название — отсылка к «Божественной комедии» Данте. Согласно этому произведению, «Malbolge» — восьмой круг ада, где обитали обманщики. Исходя из этой короткой справки нетрудно понять, что написать на «Malbolge» даже достаточно простой код — невыполнимое задание. Забавный факт в этой истории: большая часть программ на этом диалекте была написана другими программами путём банального поиска и перебора. Hello World:

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

 

Вот лишь малая часть наиболее безумных и смешных языков, на которых вы можете попробовать написать свой код забавы ради или для тренировки мозга. А какие чудаковатые языки программирования знаете вы? Пишите в комментариях.

А если хотите заняться серьезной разработкой - рекомендуем профессию «Веб-разработчик».

Новые комментарии