Эзотерические языки программирования - это минималистские языки, созданные как доказательство концепции и / или проблемы, как для программирования языка, так и для написания для него. Посмотрим на обзор некоторых из них:
трахать мозги
Это самый известный и самый популярный, его синтаксис довольно прост:
+ + + + + + + + + + [ Цикл для начала воспоминаний (повторяется 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 ПОКА
Поскольку он намного удобнее для чтения, чем предыдущие языки программирования, я дам вам угадать, что он должен делать. 😉
ИНТЕРКАЛ
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
Я должен сказать, что некоторые из этих языков программирования очень полезны для изучения некоторых компьютерных концепций. Например, трахать мозги он идеально подходит для изучения указателей.
Я почти предпочитаю двоичный код
Да, я определенно предпочитаю программировать в двоичном коде или напрямую на ассемблере, вы можете делать что угодно (в конце концов, языки высокого уровня работают на процессоре), но в эзотерических языках интересно то, что они представляют. Кстати, роадер (автор этой статьи), ты меня бесишь. Как C и Perl нечитабельны и раздражают? Какая невыносимая обида !! Какое возмущение! Но если C замечателен, то в perl я не программировал, но я видел хорошие комментарии об этом языке, потому что, по-видимому, он очень подходит для обработки файлов, строк и этих модулей, например, для эксплойтов это неплохо, хотя cy python в эксплойтах хорошо работать ...
Saludos!
Чувак, C и perl были шуткой, и да, это вполне читаемые языки, очень практичные и «красивые» в умелых руках. Конечно, в C я видел, что некоторые люди в конечном итоге создают клубок непонятного спагетти-кода, и без вести учет. Что касается Perl, то здесь не только происходит то же самое, что и с C, но, будучи чрезвычайно гибким, вы можете находить вещи, противоречащие здравому смыслу. Должен сказать, что у меня нет опыта программирования на Perl, но я достаточно хорошо знаю его синтаксис.
Во-первых, как писать азбукой Морзе 😀
А второй - орангутанг, а четвертый - он вызывает инфаркты мозга.
Очень хороший пост.
я скучаю по тебе, Пиет
http://www.dangermouse.net/esoteric/piet.html
И повар, унламда, пробел и тинк. Но я не хотел делать статью слишком большой.
ЭТО ВРЕМЯ
РАЗГОВОР В РУКУ «привет, мир»
ВАШЕ ПРЕКРАЩЕНИЕ
Привет, мир в ArnoldC
http://www.genbetadev.com/actualidad/arnoldc-el-lenguaje-basado-en-frases-de-arnold-schwarzenegger
Ну, он этого не знал, я полагаю, идею ему подсказал "нулевой терминатор"
Правда в том, что эти языки программирования меня рассмешили. Хорошо.