Существует много различных языков программирования. Для сервера, для настольных платформ, для мобильных… Но сегодня мы поговорим о необычной категории: эзотерические языки программирования. Такие языки создаются с целью выяснения собственных возможностей, для доказательства некоторой идеи или просто в качестве шутки.
В данной статье я расскажу о самых интересных на мой взгляд языках. Итак, вы готовы? Поехали:
1) Brainfuck – один из самых известных языков представленных в этом классе. При его создании в 1993 году, Урбан Мюллер (автор языка) хотел сделать компилятор размером меньше 1024 байт. Сейчас существуют компиляторы для Brainfuck размера меньше 200 байт. Язык имеет всего 8 команд, каждая из которых записывается в один символ.
Код программы Hello World:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.
2) FALSE – один из самых первых языков программирования в этом классе. Имено с него началась мода на эзотерические языки. Создан в 1993 Ваутером ван Ортмерссеном. Хоть FALSE и является стековым языком, в нем есть такие вещи, как: переменные, подпрограммы, управляющие конструкции. Его можно использовать в каких-нибудь проектах. Наверное…
Код программы Hello World:
"Hello, World!"
3) Malbolge – один из самых сложных языков в этом классе. Разработан с целью максимально усложнить жизнь программисту. Создан в 1998 году Беном Олмстедом. Название язык получил от Malebolge (восьмой круг ада Данте). Первая программа (HELLO WORLD) была написанна лишь спустя 2 года после создания языка. И создателем этой программы был не человек, а программа написанная на языке Lisp. На данный момент, в мире существует не больше 100 программ написанных на этом языке.
Код программы Hello World:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@986543W10/.R,+O<
4) Shakespeare – все программы написанные на этом языке выглядят как пьесы Шекспира. Создан Джоном Аслаудом и Карлом Хассельстромом. Код разделяется на акты, акты на сцены (классы и методы). Описание переменных выглядит как появление персонажей на сцене. В языке используется очень много лишнего текста, который компилятор просто игнорирует. Так как даже Hello World занимает около 2 листов а4, я решил не прикреплять сюда пример кода, однако если вам интересно, можете сами найти его в интернете.
5) Whitespace – один из самых странных языков программирования в этом классе. Дело в том, что он использует только непечатаемые символы: пробел, перевод строки, табуляция. Остальные символы игнорируются интерпретатором. Их можно использовать, как комментарии. По вполне логичным причинам исходники Hello World на Whitespace я прикреплять не буду.
Всем добра, ждите новых интересных и познавательных статей.