Pull to refresh

Comments 57

Ook! был придуман в честь языка на котором разговаривает один из героев Терри Пратчетта.
Этот герой (библиотекарь Незримого Университета) действительно был орангутангом. Особенно шикарны выглядят основные принципы языка на сайте его создателя:
Design Principles
  • A programming language should be writable and readable by orang-utans.
  • To this end, the syntax should be simple, easy to remember, and not mention the word «monkey».
  • Bananas are good.
Было бы неплохо ко всем языкам добавить, являются ли они полными по тьюрингу. А в остальном спасибо, не видел и половину из описанного.
Наверное где не указано что они полны по тьюрингу, они просто не полны получается?
Похоже, автор добавил эту информацию после публикации. Как-то раньше оно в глаза не бросалась.
아희 забавный. Так и напрашивается задача написать на нём что-то осмысленное, чтобы при этом оно по-корейски тоже читалось %)
Спасибо! Я описание языка уже просмотрела. При попытке понять, можно ли так сообразить осмысленный текст, сразу же взрывается мозг (ну а что ещё ждать от эзотерического языка, собственно). В примерах кода только отдельные слова встречаются знакомые. Кстати, курсор можно в любую сторону двигать, а у них код в основном одномерный или змейкой.
Это всё из-за уродливой транслитерации :) На самом деле читается довольно безобидно: «Ахи».
Читать на корейском можно научится за неделю. Писать на корейском можно научиться за час. Разговаривать — за месяц.

Рекомендую как-нибудь в свободное время поизучать, прикольно.
Вот интересно, почему талантливых людей тянет заниматься разной фигнёй, вместо чего то полезного…

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

См. вики:
An esoteric programming language (sometimes shortened to esolang) is a programming language designed to test the boundaries of computer programming language design, as a proof of concept, as software art, as a hacking interface to another language (particularly functional programming or procedural programming languages), or as a joke. The use of esoteric distinguishes these languages from programming languages that working developers use to write software. Usually, an esolang's creators do not intend the language to be used for mainstream programming, although some esoteric features, such as visuospatial syntax,[1] have inspired practical applications in the arts. Such languages are often popular among hackers and hobbyists.

The cultural context of esolangs has been studied by people like Geoff Cox, who writes that esolangs «shift attention from command and control toward cultural expression and refusal»,[16] seeing esolangs as similar to code art and code poetry, such as Mez Breeze's mezangelle. Daniel Temkin describes brainfuck as «refusing to ease the boundary between human expression and assembly code and thereby taking us on a ludicrous journey of logic,»[17] exposing the inherent conflict between human thinking and computer logic. He connects programming within an esolang to performing an event score such as those of the Fluxus movement, where playing out the rules of the logic in code makes the point of view of the language clear.[18]

Brainfuck подходит для экспериментов по генетическому программированию из-за простоты синтаксиса, и, соответственно, генерации исходного кода.

Thue — Эзотерический язык программирования, разработаный Джоном Колагойя в начале 2000 года. Это мета-язык, который демонстрирует нулевой тип в Иерархии Хомского, то есть неограниченную грамматику.

Будучи эзотерическим языком программирования, Unlambda предназначена для демонстрации очень чистого функционального языка, а не для практического использования.

Языки для других целей, но часто приводимые в списках эзотерических
P′′
QuakeC
P′′ is a primitive computer programming language created by Corrado Böhm[1][2] in 1964 to describe a family of Turing machines.
QuakeC — интерпретируемый язык программирования, разработанный в 1996 году Джоном Кармаком для написания части компьютерной игры Quake.

Спасибо за упоминание Thue, очень интересный язык.

Кстати, было бы интересно посмотреть примеры нетривиальных программ на нем.

то, что аудитория сайта русскоязычная, не значит, что 1С по экзотеричности уступает корейскому Aheui
В том, что у него для всех команд есть алиасы на русском языке?

Тссс… Не все знают, что это на самом деле алиасы...

Примеры (тьюринг-полного) sed на хабре
https://habrahabr.ru/post/306356/
https://habrahabr.ru/post/191006/
тут правда не сам язык эзотерический, а его «извращение»
Можно добавить язык «Эллочка», описанный в статье М. Трофимов. Язык программирования «Эллочка» // Монитор # 7-8,1994, с. 56. В этом языке, названном в честь известной героини Ильфа и Петрова, автор предложил минимизацию избыточности языков, сведя все операторы к виду:

<метка><условие><переменная><выражение><метка перехода>

Так,

110 x<y a 10*c 112

будет эквивалентно паскалевскому:
110: if x<y then begin a:=10*c; goto 112 end;

Для Булевых выражений предложено использовать только and и not. Для I/O есть специальная переменная con. Так:

218 true con 'hello' 219

эквивалентно:
write ('hello')

И

219 true x con 220

эквивалентно:
read (x)

Далее автор отмечает:
В итоге получим сверхэкономный язык, основанный на сверхлаконичном словаре — этакий словарь людоедки Эллочки для программистов. Вся беда только в том, что, как известно, скупой платит дважды [...] — многие программы на таком неумеренно лаконичном языке окажутся многословнее своих неэкономных собратьев. И действительно, Turbo Pascal фрагмент:
while (a<>0) or (b<>0) do
 begin
   dec (a); dec (b);
 end;

будет содержать гораздо меньше слов (символов языка), чем аналогичный на языке «Эллочка»

1 not (not (a=0) and not (b=0)) a a 4
2 true a a-1 3
3 true b b-1 1
4


Для Булевых выражений предложено использовать только and и not.

Почему не «стрелку Пирса» или «штрих Шеффера»? Поддерживать целых две логические операции, когда можно обойтись всего одной — настоящее расточительство.
Верно. Улучшение готово: Эллочка+
Ook! напомнил «Плоский Мир» Терри Пратчетта
Он вам напомнил потому что он и создан по мотивам разговора Библиотекаря.
https://esolangs.org/wiki/Ook!
и внизу видим ссылку The Librarian — Discworld and Terry Pratchett Wiki
Ну и да, любому читавшему Пратчетта достаточно очевидно, как только видишь оный ЯП, что без Библиотекаря тут не обошлось.
Так что правильно подумали и правильно показалось
Примеры кода — и в картинках! :( А интересно было бы почитать…
Кроличья нора глубока.

И, судя повсему, ведет в Р'льех.
Как раз пишу интерпретатор brainfuck на асме.
Круто! +1
А можно полюбопытствовать: это хобби, работа, учебное задание? И какие цели?

Работа — это интересное предположение!

В сетке высказывают идеи обфускации через esolang, поэтому спросил — вдруг где-то решили воплотить такие идеи :)
Хобби, совмещённое с учёбой, по универу проходим асм и вот решил запилить. Уже грузится в qemu и обрабатывает +-., ах да, я его ещё пытаюсь уместить в mbr, пока вроде влазит :)
Ok. Спасибо за ответ. Хорошая задача и уверен, что справитесь. Успехов!
Кстати, основан на комбинаторной логике а не на комбинаторике, совсем разные разделы.
А вот пруфчекер Globular, совершенно не смешной
https://golem.ph.utexas.edu/category/2015/12/globular.html

Теоремы изображаются картинками, доказательство по принципу «раскрась сам»
Учитывая, что он представляет из себя перевод BrainFuck'а на понятные автору оного Petooh'а выражения, то безусловно он относится к эзотерическим. Вот считать ли его вариацией BF'а или самостоятельным языком — вопрос.
Сюда же и JavaScript можно добавить:
много кода
[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(+(!+[]+!+[]+!+[]+[!+[]+!+[]]))[(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(+![]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(+![]+[![]]+([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]](!+[]+!+[]+!+[]+[!+[]+!+[]+!+[]])+(!![]+[])[+[]]+(![]+[])[+[]]+([]+[])[(![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]()[+!+[]+[!+[]+!+[]]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()

Мне одному кажется, что слово «эзотерический» имеет другое значение?
См.:
предназначенный для посвящённых, сведущих в мистических, тайных учениях
ИМХО слово очень подходит в расширенном понимании.
Раз уж упомянули Шекспира, то можно и Beatles
https://github.com/ramsey/beatles

Никто не ждал, и вот, спустя 5 лет я со своим комментарием :)

Возможно майнкрафт с его механизмами можно отнести эзотерическим способам программировать. К тому же эти "программы" вполне тьюринг-полны. Я видел как люди создавали полноценные калькуляторы и "дисплеи" в мире майнкрафта.

https://www.youtube.com/watch?v=uGug-4xkw6M
https://www.youtube.com/watch?v=uGug-4xkw6M
Sign up to leave a comment.