Курьезы: эзотерические языки программирования

Эзотерические языки программирования - это минималистские языки, созданные как доказательство концепции и / или проблемы, как для программирования языка, так и для написания для него. Посмотрим на обзор некоторых из них:

трахать мозги


Это самый известный и самый популярный, его синтаксис довольно прост:

 
 + + + + + + + + + +
 [          Цикл для начала воспоминаний (повторяется 10 раз)
    >+++++++>+ + + + + + + + + +>+++++++++++>+++>+<<<<-
       70 100 110 30 10
 ]
 >++.              'H' (72) 1
 >>+.              'или' (111) 3
 Напишите нам в чат или Email.              'l' (108) 3
 <Напишите нам в чат или Email.             'а' (97) 2
 >>++.             пробел (32) 4
 <+.               м (109) 3
 ++++++++.         'u' (117) 3
 -------.          'п' (110) 3
 <+++.             'd' (100) 2
 >+.               'или' (111) 3
 >+.               '!' (33) 4
 >.                '\ n' (10) 5

Чтобы объяснить его синтаксис, лучше всего использовать другие языки программирования. Так что в его страница в Википедии предоставьте нам эту таблицу эквивалентностей, в которой ptr эквивалентен символу без знака:

Brainfuck C Perl
> ++ ptr; $ указатель ++;
< –Ptr; $ указатель–;
+ ++ * ptr; $ tape [$ указатель] ++;
- * птр; $ лента [$ указатель] -;
. путчар (* птр); напечатать chr $ tape [$ указатель];
, * ptr = getchar (); $ лента [$ указатель] = ord (<>);
[ while (* ptr) { while ($ tape [$ pointer]) {
] } }

Оу!


Он основан на предыдущем, но вместо этого использует словосочетание Ок?, Ук! y также. Пародия на библиотекаря из Плоский мир, который превращается в орангутана и может произносить только эти три слова. Давайте посмотрим на кусок кода.

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. 

Предположительно, эта «программа» пишет типичный «привет, мир».

Бефунге


На мой взгляд, наиболее оригинальной из всех является то, что его структура управления потоком основана на стрелках, которые указывают программе, куда двигаться. Кроме того, это значительно упрощает создание мутантного кода (кода, который сам себя изменяет):

vv << 2 ^ v <v13v4 ^ ^ >>?>?> 5 ^ vv v97v6 vv <8. >> ^ ^

Приведенный выше код относится к генератору бесконечных случайных чисел, который будет генерировать число от 1 до 9. Намного более читабельно, чем предыдущие.

Мальболге


Здесь у нас есть язык программирования, созданный так, чтобы он раздражал и не читался (нет, это не C, и нет, это не так Perl). Около Мальболге, чье имя происходит от 8-го круга ада в Божественная комедия. Вот «привет, мир» (или мне так сказали):

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

Lolcat


Простая шутка. Посмотрим на ваш код:

HAI
CAN ИМЕЕТ СТДИУМ?
У МЕНЯ ЕСТЬ VAR
IM IN YR LOOP
   UP VAR!!1
   VISIBLE VAR
   IZ VAR BIGGER ЧЕМ 10? KTHX
IM Outta YR LOOP
ПОКА

Поскольку он намного удобнее для чтения, чем предыдущие языки программирования, я дам вам угадать, что он должен делать. 😉

ИНТЕРКАЛ


И наконец, что не менее важно, у нас есть пародия на язык программирования FORTRAN. ИНТЕРКАЛЬ. И вот привет, мир.
DO ,1 <- #13
ПОЖАЛУЙСТА, DO ,1 XNUMX XNUMX SUB #1 <- #238
DO ,1 XNUMX XNUMX SUB #2 <- #108
DO ,1 XNUMX XNUMX SUB #3 <- #112
DO ,1 XNUMX XNUMX SUB #4 <- #0
DO ,1 XNUMX XNUMX SUB #5 <- #64
DO ,1 XNUMX XNUMX SUB #6 <- #194
DO ,1 XNUMX XNUMX SUB #7 <- #48
ПОЖАЛУЙСТА, DO ,1 XNUMX XNUMX SUB #8 <- #22
DO ,1 XNUMX XNUMX SUB #9 <- #248
DO ,1 XNUMX XNUMX SUB #10 <- #168
DO ,1 XNUMX XNUMX SUB #11 <- #24
DO ,1 XNUMX XNUMX SUB #12 <- #16
DO ,1 XNUMX XNUMX SUB #13 <- #162
ПОЖАЛУЙСТА, ЧИТАТЬ ВНЕ ,1
ПОЖАЛУЙСТА, ДАЙТЕ UP
Ну вот и все.

Я должен сказать, что некоторые из этих языков программирования очень полезны для изучения некоторых компьютерных концепций. Например, трахать мозги он идеально подходит для изучения указателей.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Дэвидлг сказал

    Я почти предпочитаю двоичный код

    1.    десикодер сказал

      Да, я определенно предпочитаю программировать в двоичном коде или напрямую на ассемблере, вы можете делать что угодно (в конце концов, языки высокого уровня работают на процессоре), но в эзотерических языках интересно то, что они представляют. Кстати, роадер (автор этой статьи), ты меня бесишь. Как C и Perl нечитабельны и раздражают? Какая невыносимая обида !! Какое возмущение! Но если C замечателен, то в perl я не программировал, но я видел хорошие комментарии об этом языке, потому что, по-видимому, он очень подходит для обработки файлов, строк и этих модулей, например, для эксплойтов это неплохо, хотя cy python в эксплойтах хорошо работать ...

      Saludos!

      1.    путешественник сказал

        Чувак, C и perl были шуткой, и да, это вполне читаемые языки, очень практичные и «красивые» в умелых руках. Конечно, в C я видел, что некоторые люди в конечном итоге создают клубок непонятного спагетти-кода, и без вести учет. Что касается Perl, то здесь не только происходит то же самое, что и с C, но, будучи чрезвычайно гибким, вы можете находить вещи, противоречащие здравому смыслу. Должен сказать, что у меня нет опыта программирования на Perl, но я достаточно хорошо знаю его синтаксис.

  2.   Хоакин сказал

    Во-первых, как писать азбукой Морзе 😀

    1.    путешественник сказал

      А второй - орангутанг, а четвертый - он вызывает инфаркты мозга.

  3.   Тирсо Джуниор сказал

    Очень хороший пост.

  4.   johnfgs сказал

    я скучаю по тебе, Пиет
    http://www.dangermouse.net/esoteric/piet.html

    1.    путешественник сказал

      И повар, унламда, пробел и тинк. Но я не хотел делать статью слишком большой.

  5.   диазепан сказал

    ЭТО ВРЕМЯ
    РАЗГОВОР В РУКУ «привет, мир»
    ВАШЕ ПРЕКРАЩЕНИЕ

    Привет, мир в ArnoldC

    http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger

    1.    путешественник сказал

      Ну, он этого не знал, я полагаю, идею ему подсказал "нулевой терминатор"

  6.   элиотайм3000 сказал

    Правда в том, что эти языки программирования меня рассмешили. Хорошо.