Примеры кода на 39 эзотерических языках программирования

    Кто-то ради шутки, кто-то чтобы доказать существование или опровергнуть гипотезу, кто-то для разминки мозгов (путешествуя по поверхности бутылки Клейна или в четырехмерном пространстве), но сотни людей создали «эзотерические» языки программирования. Я пролистал около 150 таких языков и больше никогда не смогу быть прежним.



    «Argh!», «Oof!», «2-ill», «Nhohnhehr», «Noit o' mnain gelb», «DZZZZ», «Ypsilax», «YABALL», fuckfuck — это заклинания, поэзия только названия… под катом — примеры кода на самых вырвиглазных языках программирования.

    Кроличья нора глубока.

    INTERCAL (тьюринг-полный)



    Don Woods и Jim Lyon

    Один из старейших эзотерических языков программирования. Как утверждают создатели, его название означает «Язык программирования с непроизносимой аббревиатурой» (англ. Compiler Language With No Pronounceable Acronym). Язык был создан в 1972 году студентами Доном Вудсом (Don Woods) и Джеймсом М. Лайоном (James M. Lyon) как пародия на существующие языки программирования и гимнастика ума.

    Hello, world

    Каждой команде программы можно задать вероятность, с которой она будет выполняться при запуске программы. Кроме того, существуют команды, которые блокируют выполнение последующих команд определенного типа или изменения переменных.
    Статья про INTERCAL на Хабре

    Brainfuck (тьюринг-полный)


    Один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером (нем. Urban Müller) в 1993.

    Hello, world!


    Befunge


    Стековый эзотерический язык программирования. Считается двумерным, так как программа на Befunge записывается в таблицу со сшитыми краями (тор), по которой в различных направлениях перемещается интерпретатор, исполняя команды, расположенные в её ячейках. Написан Крисом Пресси в 1993 году. Как утверждал автор, его целью было разработать язык, максимально сложный для компиляции. Сложность обеспечивается командами p и g, модифицирующими текст программы.

    Hello, world!


    Malbolge


    Язык разработан в с целью быть максимально сложным для написания программ. Получил своё название от Malebolge, восьмого круга ада Данте.

    Hello, world!



    или



    Piet


    Язык Piet использует разноцветные изображения в качестве программ. Программа на Piet выглядит как постживописная абстракция. Piet получил своё название от имени нидерландского художника Пита Мондриана.

    Hello, world!



    1L_a (expected to be Turing-complete, but this has not been proven)


    Программа для печати символа «A»


    Оригинал проги слева, справа — укрупненная версия

    2L (тьюринг-полный)


    Простой цикл, который получает 9 путем умножения 5 на 2 и вычитания 1



    4DL


    В 4DL для представления программы используется четырёхмерная решётка, и направлений её выполнения, соответственно, 8.

    Программа, печатающая сумму чисел из входной строки:



    Траектория выполнения приведённой выше программы в 4-мерном пространстве:

    image

    Aheui


    Aheui (아희 на корейском) первый ЯП, который разработан на корейском алфавите Hangul.

    Hello, world!


    99bottles


    quine
    +상밢밢밣밦발받밧밥밣밦밦받밦밢밝받밝받밦밧밢받발받밧밣밦밥발받밝밥밧밦밦받밧받붑
    +붇벌벖벒벖벌벋벖법벍벒벖벋벍벌벍벍벖버벋벌벍벌벗벌벋벌법벓벖벗벋벌벓법벋벖벋벌벓
    +밦밦발받발받밧밣밦밥발받발밦밧밣발받밦밦발받발받밧밣밦밥발받발밦밧밣발받밦밦발붇
    +붉벗벋벌벓벓벋벒벋벌벓벗벖벌벋벌법벖벓벗벋벌벋벌벖벖벋벌벓벗벖벌벋벌법벖벓벗벋벌
    +밧밣밦받밦밣밦밝발받밧받밢발밦받밦밥밧밣발받밧밦받밢발받바밦밝밢밥밦받밧밧발밣불
    +붒벓벍벋벌벋벍법벖벋벖법벒벍벖벋벌벓벌벋벓벋벖법벒벍벖벋벌벗벍벗벗벋벖법벒벍벖벋
    +밧밦받밧받밦밢발받밦밧밢받발받밧밝밝받밦받밦밦발밧밦받바밧밝밝받밦받밦받밣밧밦붇
    +붏법법벋벋벌벋벒벗벖벋벌벓법법벖벋벌벌벍벒벖벋벖벓벓법벖벋벖벓벖벋벗벋벌벒벌법벗
    +발받발밥밥밣발받밧밥받밥발받밦밝밧받밝받밧밢발밣발받밝밝밥밧밦받밦밥밥밣발받밦붏
    +불벓벓벗벖벋벌벓벌벗벗벋벌벒벍벗벗벋벖법벋벒벖벋벌벒벍벗벗벋벖벋벗벍벍버벋벌벓벍
    +받밦밧밧받발받발받밥밣발받밧밝발밦발받밧받밥밣발받밧밣밦밧밝받밧밢받밥밝받밧밦붏
    +붇벌벓법법벌벋벍벋벗벍벖벋벌벓법벋벗버벋벌벋벍법벖벋벖벋벓벓벗벋벖벗벖벌벖벋벍벗
    +밧밢밧밦밦받밦받밢밢발받밧발밥밣밦받밦받밥밣발받밦받밥밣발받밦발밥발발받밧받밥붏
    +붓벋벌벌벗법벗버벋벌벌벗법벗벋벌벓벒벒벋벋벖벓벓법벖벋벌벒법벌벗벋벖벖벗벒벗벋벌
    +밣밦밥발받밦밦밧밣발받밦밦밧밣발받밝발밧밣발받밝밧발밧밦받발밥받밝발받밦밧밝밥붒
    +붓벌벍벋벌벓벗벖벖벋벌법벖벓벗벋벌법벖벓벗벋벌벋벌벖벖벋벖벋벖벋벗벋벖벗벌벓벖벋
    +밣발받밦발밦밧밦받밣밥받밣발받밦받밦발발받바밧밢발밣발받밧밧발밧밝받밦밧밢받발붇
    +붑벍벒벖벋벌벋벌벖벖벋벖벗벌벗벍벋벌벒벍벗벗벋벌벓벗벖벓벋벌벓벋법벍벋벌법벒벌벗
    +밦받밣발받밣발받밦밢밝밥밦받밧밥발밧발받밦밢밝밥밦받밧밥받밣발받밦밢밝밥밦받발붑
    +불벓벓법벗벋벌벌벗법벗벋벌벓벋법벖벋벌벓벌벒벖버벋벌법벍벍벗벋벖벋법벖벋벋벌벍벋
    +받밧밧밝밢발받받밦밧밣발받밧발밢받밦받밦밝밧받밝받밧밥받밥발받발밦밧밣발받받밦붓
    +붓벋벌벒벋벖벗벋벖벓벖벋벗벋벖벓벓법벖벋벌벌벒벍벖벋벌벓벗벖벖벋벌벋벒벗벖벋벌벓
    +밣밣밢발받밦밧밣밣발받바밧밣밧받밦받밧밥밧발발받밢받밝밝발받밦밦발받발받받받밣붏
    +붉벗벋벌벓벗벌벗벋벍벗벌벗벗벋벍법벋벒벗벋벖벗벓벋벖벋벌벒벒벋벖벋벌벌벗법벗벋벌
    +발밦발받발발밧밣발받밦밧밧받발받밦밧밣밣발받밧밥받밣발받밧밧밝밢발받밦밢받밥밦붇
    +붎벋벗벋벖벋벗벌벗벋벖벓법벌벗벋벖벗법벍벖벋벌벖벒벖벌버벋벖벋벌벒벗벋벖벋벗벌벗
    +발밦받밧밥받밥발받밦받밣받발받밧밥받밣발받밝밝밥밧밦받밦발밥발발받밦발밧밣발받붒
    +불벓벗벌벗벋벍벋벗벍벖벋벌벓벗벖벌벋벖벌벒벋벗벋벌벒벒벋벖벋벖벓벗벍벗벋벌벓벗벌
    +받밝밝밧받밦받바밧밦밣밥발받밧밦밣밥발받받받밥밣발받밧밣밦밧밝받발밥받밝발받밝붏
    +붇벌벒벌법벗벋벍벗벖벓벗벋벌벓법벋벗벋벌법벓벖벗벋벌벒벌법벗벋벌벓법벋벖벋벖벗벖
    +밧밦밣밥발받밣밥밥밣발받밝받밥밣발받밦밥밝받발받밧밦밣밥발받밝받밥밣발받밧밦밣붑
    +불벋벌벓벗벌벗벋벌법벖벓벗벋벌법벖벓벗벋벌벌법벌벖버벋벌법벋법벗벋벌벓법벋벓벋벌
    +발밧밣발받받발밧밣발받받발밧밣발받밝발밧밣발받밧밧발밧밝받밧발밧밣발받밧밣밦밥불
    +붑벍벖벋벌벓벗벌벌벋벖벋벌벒벋벋벌벓벗법벖벋벖벋벌벒법벋벌벓벗벌벍벋벌벒벋벖벗벋
    +밧밦받사받싹바싺밝빠따반타밝밙밙받반따따뚜
    +두벎떠벍떠더벍벖떠뻐터번떠뻐벌섵멓터벉떠떠
    +숭반투밣쟈뿌차발발뚜삭뱐뎌두쟈수처사맣
    +싸수쑼뽀뱐분누받루반타푸소뿌또붉다뭏또숰
    +분뾰빠초추러밤도밡밣두투쏘밡뽀붐또뱔볼
    +땨슡멓야뱐야냐야뱞야다샅뽀밦뱕뗘도타본
    +뜌뱖서밝밤따따다쌈샴아멓샅밝밤밤따또
    +또뷹추뺘져번뚜벌벌처뿌져벓투번
    +더쎰서토푸터번루벋누분변뽀쑼뽀숭
    +뵴범삭본투두벓벑도범라추초뻐소써
    +샤써도뼈섵더여볎여녀여변여
    +빠바쟈무차붏밣따다밣따다밣따다밣따다맣야희
    +뫃떠벌번정따도퍼즐릿

    [источник]


    BiTrax


    Hello, world!



    Brainloller


    Hello, world!


    Справа — оригинал, слева — увеличенная версия.

    DOBELA


    DOt-Based Esoteric LAnguage.

    Hello, world!



    Floater


    Hello, world!

    image

    Hexagony


    Hexagony — первый язык, где инструкции расположены внутри шестиугольной сетки. Название происходит от слов «hexagon» (шестиугольник) и «agony» (агония), потому что программирование будет сложным.

    Hello, world!


    LLL


    Язык логических вентелей и цифровых схем.

    Hello, world!



    Manufactoria


    Язык и игра в одном лице.

    Hello, world!



    ObjectArt


    Hello, world!


    PoGo


    Hello, world!


    Ropy


    Hello, world!



    Sir. Cut


    Есть провода, токи, логические вентили и I/O.

    Hello, world!



    SNUSP


    Hello, world!



    Spiral


    Hello, world!


    Spleenmap


    Hello, world!



    Surface


    В Surface программные инструкции расположены на 2D сетке вокруг бутылки Клейна.

    Hello, world!



    Tree


    Hello, world!



    Zetaplex


    Hello, world!



    Ziim


    Hello, world!



    Lazy K


    Тьюринговая трясина, основанная на комбинаторной логике.

    Hello, world!



    Spoon


    Коды команд подобраны таким образом, что позволяют распознавать все команды без дополнительного разделителя при разборе программы слева направо.

    Hello, world!

    1111111111001000101111111010111111111101011101010
    11011011011000001101011001010010100101011111110
    01010001010111001010010110010100110111111111111
    1111100101001000101011100101000000000000000000
    000101000000000000000000000000000101001010010
    10010001010


    Velato


    Hello, world!



    Слушать


    Whitespace


    Whitespace (англ. пробел) – эзотерический язык программирования, созданный Э. Брэди и К. Моррисом. Существенным его отличием является то, что для управляющих конструкций используются только непечатаемые символы, а именно: пробел, перевод строки и табуляция. Интересным следствием этого факта является то, что текст программы на языке Whitespace можно «скрыть» внутри исходных кодов другой программы.

    Hello, world! («Суслика не видно, но он есть»)



    с подсветкой спецсимволов

    S=пробел T=Tab


    Откровенно шуточные ЯП



    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



    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!



    Ook!


    То ли язык орангутангов, то ли мечта Вильяма Оккама.

    Hello, world!



    Chef


    Эзотерический язык программирования, разработанный Дэвидом Морган-Маром, программы на котором сходны с кулинарными рецептами. Каждая программа в языке состоит из названия, списка переменных и их значений, списка инструкций. Переменные могут быть названы только названиями основных продуктов питания. Стек, в которые помещаются значения переменных, называется англ. mixing bowl («чаша для смешивания»), а операции для манипуляции с переменными — mix («смешать»), stir («взболтать») и так далее.

    Hello World
    Hello World Souffle.

    Ingredients.
    72 g haricot beans
    101 eggs
    108 g lard
    111 cups oil
    32 zucchinis
    119 ml water
    114 g red salmon
    100 g dijon mustard
    33 potatoes

    Method.
    Put potatoes into the mixing bowl.
    Put dijon mustard into the mixing bowl.
    Put lard into the mixing bowl.
    Put red salmon into the mixing bowl.
    Put oil into the mixing bowl.
    Put water into the mixing bowl.
    Put zucchinis into the mixing bowl.
    Put oil into the mixing bowl.
    Put lard into the mixing bowl.
    Put lard into the mixing bowl.
    Put eggs into the mixing bowl.
    Put haricot beans into the mixing bowl.
    Liquefy contents of the mixing bowl.
    Pour contents of the mixing bowl into the baking dish.

    Serves 1.


    Shakespeare


    Эзотерический язык программирования разработанный Джоном Аслаудом и Карлом Хассельстромом. Язык Shakespeare призван замаскировать исходный код программы под пьесы Шекспира.

    Hello, world!
    Romeo, a young man with a remarkable patience.
    Juliet, a likewise young woman of remarkable grace.
    Ophelia, a remarkable woman much in dispute with Hamlet.
    Prince Hamlet, the flatterer of Andersen Insulting A/S.

    Act I: Hamlet's insults and flattery.
    Scene I: The insulting of Romeo.
    [Enter Hamlet and Romeo]
    Hamlet:
    You lying stupid fatherless big smelly half-witted coward! You are as
    stupid as the difference between a handsome rich brave hero and thyself!
    Speak your mind!
    You are as brave as the sum of your fat little stuffed misused dusty
    old rotten codpiece and a beautiful fair warm peaceful sunny summer's
    day. You are as healthy as the difference between the sum of the
    sweetest reddest rose and my father and yourself! Speak your mind!
    You are as cowardly as the sum of yourself and the difference
    between a big mighty proud kingdom and a horse. Speak your mind.
    Speak your mind!
    [Exit Romeo]
    Scene II: The praising of Juliet.
    [Enter Juliet]
    Hamlet:
    Thou art as sweet as the sum of the sum of Romeo and his horse and his
    black cat! Speak thy mind!
    [Exit Juliet]
    Scene III: The praising of Ophelia.
    [Enter Ophelia]
    Hamlet:
    Thou art as lovely as the product of a large rural town and my amazing
    bottomless embroidered purse. Speak thy mind!
    Thou art as loving as the product of the bluest clearest sweetest sky
    and the sum of a squirrel and a white horse. Thou art as beautiful as
    the difference between Juliet and thyself. Speak thy mind!
    [Exeunt Ophelia and Hamlet]

    Act II: Behind Hamlet's back.
    Scene I: Romeo and Juliet's conversation.
    [Enter Romeo and Juliet]
    Romeo:
    Speak your mind. You are as worried as the sum of yourself and the
    difference between my small smooth hamster and my nose. Speak your
    mind!
    Juliet:
    Speak YOUR mind! You are as bad as Hamlet! You are as small as the
    difference between the square of the difference between my little pony
    and your big hairy hound and the cube of your sorry little
    codpiece. Speak your mind!
    [Exit Romeo]
    Scene II: Juliet and Ophelia's conversation.
    [Enter Ophelia]
    Juliet:
    Thou art as good as the quotient between Romeo and the sum of a small
    furry animal and a leech. Speak your mind!
    Ophelia:
    Thou art as disgusting as the quotient between Romeo and twice the
    difference between a mistletoe and an oozing infected blister! Speak
    your mind!
    [Exeunt]


    Йоба


    Ответ русских гопников Шекспиру.

    Осторожно, маты

    Читать еще






    Поддержка публикации — компания Edison, которая разработала систему проведения онлайн лотерей для африканская игровой компании и автоматизировала всю нудную рутину для торговой сети.

    Социальная Архитектура: стратагемы для успеха open source проектов
    Edison
    455.02
    Изобретаем успех: софт и стартапы
    Support the author
    Share post

    Comments 56

      +8
      Ook! был придуман в честь языка на котором разговаривает один из героев Терри Пратчетта.
        +7
        Этот герой (библиотекарь Незримого Университета) действительно был орангутангом. Особенно шикарны выглядят основные принципы языка на сайте его создателя:
        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.
        +1

        А где же классика, Brainfuck/Malbolge/Befunge?

        +5

        Не хватает йоба-языка

          +2
          Было бы неплохо ко всем языкам добавить, являются ли они полными по тьюрингу. А в остальном спасибо, не видел и половину из описанного.
            0
            Наверное где не указано что они полны по тьюрингу, они просто не полны получается?
              0
              Похоже, автор добавил эту информацию после публикации. Как-то раньше оно в глаза не бросалась.
              0
              아희 забавный. Так и напрашивается задача написать на нём что-то осмысленное, чтобы при этом оно по-корейски тоже читалось %)
                0
                https://aheui.github.io/
                  0
                    0
                    Спасибо! Я описание языка уже просмотрела. При попытке понять, можно ли так сообразить осмысленный текст, сразу же взрывается мозг (ну а что ещё ждать от эзотерического языка, собственно). В примерах кода только отдельные слова встречаются знакомые. Кстати, курсор можно в любую сторону двигать, а у них код в основном одномерный или змейкой.
                    +2
                    я сперва неправильно прочитал Aheui…
                      0
                      Это всё из-за уродливой транслитерации :) На самом деле читается довольно безобидно: «Ахи».
                        +1
                        Читать на корейском можно научится за неделю. Писать на корейском можно научиться за час. Разговаривать — за месяц.

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

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

                          +2
                          См. вики:
                          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.
                            +2

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

                              +1

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

                          +19
                          Почему 1С в списке нет?
                            0
                            А в чем его «фишка»?
                              +2
                              то, что аудитория сайта русскоязычная, не значит, что 1С по экзотеричности уступает корейскому Aheui
                                +1
                                В том, что у него для всех команд есть алиасы на русском языке?
                                  +2

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

                              +2
                              Примеры (тьюринг-полного) sed на хабре
                              https://habrahabr.ru/post/306356/
                              https://habrahabr.ru/post/191006/
                              тут правда не сам язык эзотерический, а его «извращение»
                                +2
                                Можно добавить язык «Эллочка», описанный в статье М. Трофимов. Язык программирования «Эллочка» // Монитор # 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


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

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

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

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

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

                                            Теоремы изображаются картинками, доказательство по принципу «раскрась сам»
                                              0
                                              Язык Petooh можно считать эзотерическим?

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

                                                    +1

                                                    Это подмножество языка автор назвал JSFuck.

                                                    0
                                                    Написал про PL/0 там, но м.б. это стоило написать здесь.
                                                      –1
                                                      Мне одному кажется, что слово «эзотерический» имеет другое значение?
                                                        0
                                                        См.:
                                                        предназначенный для посвящённых, сведущих в мистических, тайных учениях
                                                        ИМХО слово очень подходит в расширенном понимании.
                                                        +1
                                                        Раз уж упомянули Шекспира, то можно и Beatles
                                                        https://github.com/ramsey/beatles
                                                          0
                                                          Спасибо, улыбнуло:
                                                          Let it be MyBool Is a John
                                                          :)

                                                        Only users with full accounts can post comments. Log in, please.