Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.
![](https://habrastorage.org/files/dad/86a/68d/dad86a68d5834e7c9d6e2adf1ecdd9a0.jpg)
«Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это
Кроличья нора глубока.
INTERCAL (тьюринг-полный)
![](https://habrastorage.org/files/c53/db3/007/c53db30075294b1bb2ef7c4262e4abdc.jpg)
Don Woods и Jim Lyon
Один из старейших эзотерических языков программирования. Как утверждают создатели, его название означает «Язык программирования с непроизносимой аббревиатурой» (англ. Compiler Language With No Pronounceable Acronym). Язык был создан в 1972 году студентами Доном Вудсом (Don Woods) и Джеймсом М. Лайоном (James M. Lyon) как пародия на существующие языки программирования и гимнастика ума.
Hello, world
![](https://habrastorage.org/files/41d/ee7/1af/41dee71af5524867ab357d0d4b2e51f9.jpg)
Каждой команде программы можно задать вероятность, с которой она будет выполняться при запуске программы. Кроме того, существуют команды, которые блокируют выполнение последующих команд определенного типа или изменения переменных.Статья про INTERCAL на Хабре
Brainfuck (тьюринг-полный)
Один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером (нем. Urban Müller) в 1993.
Hello, world!
![](https://habrastorage.org/files/328/4ad/2bc/3284ad2bcb9e43a987d8404eb92fa4c9.jpg)
Befunge
Стековый эзотерический язык программирования. Считается двумерным, так как программа на Befunge записывается в таблицу со сшитыми краями (тор), по которой в различных направлениях перемещается интерпретатор, исполняя команды, расположенные в её ячейках. Написан Крисом Пресси в 1993 году. Как утверждал автор, его целью было разработать язык, максимально сложный для компиляции. Сложность обеспечивается командами p и g, модифицирующими текст программы.
Hello, world!
![](https://habrastorage.org/files/bf6/318/a30/bf6318a30d9849d2bdbaaf09826cf49f.jpg)
Malbolge
Язык разработан в с целью быть максимально сложным для написания программ. Получил своё название от Malebolge, восьмого круга ада Данте.
Hello, world!
![](https://habrastorage.org/files/0de/8a8/fac/0de8a8fac62c4ce3b42dce1349f46003.jpg)
или
![](https://habrastorage.org/files/009/bbc/677/009bbc6775924daf9d7fb153003b4ffc.jpg)
Piet
Язык Piet использует разноцветные изображения в качестве программ. Программа на Piet выглядит как постживописная абстракция. Piet получил своё название от имени нидерландского художника Пита Мондриана.
Hello, world!
![](https://habrastorage.org/files/1ce/74c/f7b/1ce74cf7bb9645c6a362c7599f98a194.jpg)
1L_a (expected to be Turing-complete, but this has not been proven)
Программа для печати символа «A»
![](https://habrastorage.org/files/2a2/7ef/815/2a27ef815c474edcb3a5e6a788d7164c.jpg)
Оригинал проги слева, справа — укрупненная версия
2L (тьюринг-полный)
Простой цикл, который получает 9 путем умножения 5 на 2 и вычитания 1
![](https://habrastorage.org/files/329/b2c/571/329b2c571e50494e9e1ccac8530fa1f0.jpg)
4DL
В 4DL для представления программы используется четырёхмерная решётка, и направлений её выполнения, соответственно, 8.
Программа, печатающая сумму чисел из входной строки:
![](https://habrastorage.org/files/e9b/934/d59/e9b934d597a345a196ca8c652f02bb54.jpg)
Траектория выполнения приведённой выше программы в 4-мерном пространстве:
![image](https://habrastorage.org/getpro/habr/post_images/538/4fb/c23/5384fbc23c3a0ad57988caf786637635.png)
Aheui
Aheui (아희 на корейском) первый ЯП, который разработан на корейском алфавите Hangul.
Hello, world!
![](https://habrastorage.org/files/219/638/9f0/2196389f0e00498e8a72c0e0448d8088.jpg)
99bottles
quine
BiTrax
Hello, world!
![](https://habrastorage.org/files/b28/531/f3a/b28531f3a5d94348b07c5e61884be72b.jpg)
Brainloller
Hello, world!
![](https://habrastorage.org/files/4e7/6fc/b70/4e76fcb703af423a81d9b44b4268f541.jpg)
Справа — оригинал, слева — увеличенная версия.
DOBELA
DOt-Based Esoteric LAnguage.
Hello, world!
![](https://habrastorage.org/files/40e/5ce/c05/40e5cec05e85462abbc1c3b903d106a5.jpg)
Floater
Hello, world!
![image](https://habrastorage.org/getpro/habr/post_images/850/bbe/db4/850bbedb4e72bd32719bca8f4f1f2d34.gif)
Hexagony
Hexagony — первый язык, где инструкции расположены внутри шестиугольной сетки. Название происходит от слов «hexagon» (шестиугольник) и «agony» (агония), потому что программирование будет сложным.
Hello, world!
![](https://habrastorage.org/files/88f/a6c/cdd/88fa6ccdd2034ab8b7f7210e53637e95.jpg)
LLL
Язык логических вентелей и цифровых схем.
Hello, world!
![](https://habrastorage.org/files/27a/4fc/628/27a4fc6284a64f778f1ce95737049c88.jpg)
Manufactoria
Язык и игра в одном лице.
Hello, world!
![](https://habrastorage.org/files/4ab/448/ae0/4ab448ae084f4ae0a6a97e50c679faca.jpg)
ObjectArt
Hello, world!
![](https://habrastorage.org/files/8fb/dbe/a9c/8fbdbea9c6c54a0f973f1dd6c5416075.jpg)
PoGo
Hello, world!
![](https://habrastorage.org/files/136/9af/ed9/1369afed91b44407ba5aa3647c5dc6cb.jpg)
Ropy
Hello, world!
![](https://habrastorage.org/files/c03/a58/5b0/c03a585b0ae84a7da42036608df210c9.jpg)
Sir. Cut
Есть провода, токи, логические вентили и I/O.
Hello, world!
![](https://habrastorage.org/files/b77/94e/6af/b7794e6af2a04be4b5a0e4280886aaba.jpg)
SNUSP
Hello, world!
![](https://habrastorage.org/files/c77/248/2db/c772482db94b4b1886472471e6b3faaa.jpg)
Spiral
Hello, world!
![](https://habrastorage.org/files/a52/3b9/7c9/a523b97c9ee84bde98755675cc81ad2c.jpg)
Spleenmap
Hello, world!
![](https://habrastorage.org/files/17b/36a/629/17b36a629be546e5b25fc2c0b93667a3.jpg)
Surface
В Surface программные инструкции расположены на 2D сетке вокруг бутылки Клейна.
Hello, world!
![](https://habrastorage.org/files/105/cac/a06/105caca065c14ae2a304a2f2d3463db1.jpg)
Tree
Hello, world!
![](https://habrastorage.org/files/cb9/3a1/729/cb93a17298a049568f9fe0d252378dc1.jpg)
Zetaplex
Hello, world!
![](https://habrastorage.org/files/9de/3ce/2e9/9de3ce2e90e94fc2950c45e9889c2f38.jpg)
Ziim
Hello, world!
![](https://habrastorage.org/files/9a5/8e5/002/9a58e50022bf4b6196af484f471bfd9c.jpg)
Lazy K
Тьюринговая трясина, основанная на комбинаторной логике.
Hello, world!
![](https://habrastorage.org/files/508/eca/8f1/508eca8f15054fa5a7a3c8806b62417d.jpg)
Spoon
Коды команд подобраны таким образом, что позволяют распознавать все команды без дополнительного разделителя при разборе программы слева направо.
Hello, world!
1111111111001000101111111010111111111101011101010
11011011011000001101011001010010100101011111110
01010001010111001010010110010100110111111111111
1111100101001000101011100101000000000000000000
000101000000000000000000000000000101001010010
10010001010
Velato
Hello, world!
![](https://habrastorage.org/getpro/habr/post_images/c6b/c82/3f0/c6bc823f0368067313f7044e3780dd19.gif)
Слушать
Whitespace
Whitespace (англ. пробел) – эзотерический язык программирования, созданный Э. Брэди и К. Моррисом. Существенным его отличием является то, что для управляющих конструкций используются только непечатаемые символы, а именно: пробел, перевод строки и табуляция. Интересным следствием этого факта является то, что текст программы на языке Whitespace можно «скрыть» внутри исходных кодов другой программы.
Hello, world! («Суслика не видно, но он есть»)
![](https://habrastorage.org/files/272/575/c0a/272575c0a2d3418db491f0bb72435117.jpg)
с подсветкой спецсимволов
Откровенно шуточные ЯП
HQ9+
HQ9+ шуточный язык с четырьмя инструкциями:
H: Print «hello, world»
Q: Print the program's source code
9: Print the lyrics to «99 Bottles of Beer»
+: Increment the accumulator
LOLCODE
Эзотерический язык программирования, созданный под влиянием интернет-мема о lolcat’ах. Есть спецификация этого языка и существуют несколько работающих интерпретаторов и компиляторов этого языка. LOLCODE является Тьюринг-полным языком.
Hello World
![](https://habrastorage.org/files/647/636/386/6476363861484071bd2774b00882f169.jpg)
l33t
// «Hello World» by Stephen McGreal.
// Note that the views expressed in this source code do not necessarily coincide with those of the author :o)
Gr34t l33tN3$$?
M3h…
iT 41n't s0 7rIckY.
l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!
Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!!
I'M teh fr4GM4stEr aN I'lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE*** wItH y0uR h1dE!!! L0L0L0L!
t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$
l33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$…
s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y'r3 ju$t n0rMal lEE7 5pEEk but th3y're 5ecRetLy c0dE!!!
n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jUs7 s4y «H3LL0 W0RLD!!!» u ju5t cAn'T gu3s5.
tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t, 1s whAt th1s 1s!!!
5uxX0r5!!!L0L0L0L0L!!!
ArnoldC
Язык программирования терминатора.
Hello, world!
![](https://habrastorage.org/files/193/b0a/e7e/193b0ae7ebed4ba4bb1aae02abcdc8a7.jpg)
Ook!
То ли язык орангутангов, то ли мечта Вильяма Оккама.
Hello, world!
![](https://habrastorage.org/files/9af/a2e/744/9afa2e744d2d463b824cf11b53a05335.jpg)
Chef
Эзотерический язык программирования, разработанный Дэвидом Морган-Маром, программы на котором сходны с кулинарными рецептами. Каждая программа в языке состоит из названия, списка переменных и их значений, списка инструкций. Переменные могут быть названы только названиями основных продуктов питания. Стек, в которые помещаются значения переменных, называется англ. mixing bowl («чаша для смешивания»), а операции для манипуляции с переменными — mix («смешать»), stir («взболтать») и так далее.
Hello World
Shakespeare
Эзотерический язык программирования разработанный Джоном Аслаудом и Карлом Хассельстромом. Язык Shakespeare призван замаскировать исходный код программы под пьесы Шекспира.
Hello, world!
Йоба
Ответ русских гопников Шекспиру.
Осторожно, маты
Читать еще
- Статья про INTERCAL на Хабре
- Эзотерические языки программирования Folders и Groot
- Эзотерический язык Piet
- ArnoldC: язык программирования из цитат Шварценеггера
- Эзотерический язык 4DL
- Изобретаем язык программирования для тренировки мозгов. Или эзотерический язык программирования за 5 минут
- Пишем интерпретатор для своего эзотерического языка
- Квайн на Brainfuck, тьюториал
- Йоба: Интерпретатор из подворотен
- Компьютерра: Путеводитель автостопщика по потаенным знаниям
- Компьютерра: Goto *#@&
Комментариев нет:
Отправить комментарий