Езотеричні мови програмування: відмінності між версіями

Surikoff (обговорення | внесок)
мНемає опису редагування
м Редагування користувача 95.132.115.27 (обговорення) відкинуті до версії користувача Surikoff
 
(Не показані 13 проміжних версій 3 користувачів)
Рядок 1: Рядок 1:
'''Езотерична мова прогрмування''' — мова, створена для лулзів, в якості пародії на звичні мови програмування (Сі, Pascal, Java). У цій статті зібрані основні езотеричні мови програмування.
{{Антилулзи}}
'''Езотерична мова прогромування''' — мова, створена для [[Лулз|лулзів]], в якості пародії на звичні мови програмування ([[Сі]], [[Pascal]], [[Java]]). У цій статті зібрані основні езотеричні мови програмування.


== HQ9+ ==
== HQ9+ ==
'''HQ9+''' — езотерична мова програмування, створена Кліфом Біффлом. Відомий він тим, що має 4 команди (!!!), по одному символу кожна:
Як відомо, перші задачі, які пропонють вирішити [[бидлокодер]]у на новій для нього мові, це:
* 1. Написати «Hello, world!!!» (самий базовий примітив)
* 2. Вивести пісеньку про 99 пляшок пива (цикл)
* 3. Вивести код програми (вища ієрархія для [[бидло|бидла]])
Щоби спростити цей шлях до підвищення свого [[ЧСВ]], пан Кліф Біффл створив чудову мову, яка має наступні інструкції:
* H — виведе на екран «Hello, world!!!»
* H — виведе на екран «Hello, world!!!»
* Q — квайн (виводить свій код).
* Q — квайн (виводить свій код).
* 9 — виведе пісеньку про 99 пляшок пива.
* 9 — виведе пісеньку про 99 пляшок пива.
* + — інкрементує лічильник, який не можна ніяк використовувати.  
І додатково, щоби мова стала більш суворою, команду:
Мова має over дохуя діалектів і реалізацій, так як інтерпретатор пишеться за 5 хвилин.
* + - інкрементує лічильник, який не можна ніяк використовувати.
Неймовірно, але факт - назва мови складається із усіх своїх інструкцій. Нажаль, вона не є повною за Тюрінгом, тому [[Crysis]] на ній не напишеш.<br/>
Такий чудовий засіб програмування не лишився без уваги. Щоби навчити [[бидло]] ООП, Девід Морган-Мар створив об’єктно-орієнтований діалект HQ9++, який командою ++ не тільки двічі інкрементує лічильник, але й створює новий об’єкт. Доступу до цього об’єкту нема, в цілях приховування інформації.
===Приклад інтерпретатора===
===Приклад інтерпретатора===
На Пайтоні:
На [[Python|Пайтоні]]:
<pre>
<pre>
code = raw_input(">>")
code = raw_input(">>")
Рядок 27: Рядок 34:
             else:
             else:
                 print "%d bottles of beer on the wall.\n"%(i-1)</pre>
                 print "%d bottles of beer on the wall.\n"%(i-1)</pre>
===Посилання===
===Посилання===
* [http://www.almnet.de/esolang/hq9plus.php Онлайн інтерпретатор]
* [http://www.almnet.de/esolang/hq9plus.php Онлайн інтерпретатор]
Рядок 36: Рядок 44:
* FORGET
* FORGET
* PLEASE ABSTAIN FROM CALCULATING
* PLEASE ABSTAIN FROM CALCULATING
* <s>SUCK THAT DICK</s>
===Приклади коду===
===Приклади коду===
<pre>DO ,1 <- #13
<pre>DO ,1 <- #13
Рядок 53: Рядок 62:
PLEASE READ OUT ,1
PLEASE READ OUT ,1
PLEASE GIVE UP</pre>
PLEASE GIVE UP</pre>
Отака хуйня, малята.
===Посилання===
===Посилання===
* [http://www.catb.org/~esr/intercal/ Хоумпаг]
* [http://www.catb.org/~esr/intercal/ Хоумпаг]


== Brainfuck ==
== Brainfuck ==
'''Brainfuck''' ''(англ. Мізкотрах)'' — найвідоміша езотерична мова програмування, відома тим, що хоч і має всього 8 команд, є повною по Тьюрінгу.
'''Brainfuck''' ''(англ. Мізкотрах)'' — найвідоміша езотерична мова програмування, відома тим, що хоч і має всього 8 команд, є повною по Тюрінгу, а це значить, що на ній можна написати [[Crysis]]. Також відома своєю назвою. Взагалі-то, 8 команд це навіть трохи забагато для забезпечення тюрінгової повноти. Але ж в нас все для зручності програміста! Одна з небагатьох езотеричних мов, яка має практичне застосування. Ні-ні, на ній не пишуть ні серверні аплікації, ні драйвери пристроїв. Brainfuck - дуже зручний для перевірки деяких математичних задач, чи можуть вони бути розв’язані машиною.
===Команди===
===Команди===
{| align="center" class="standard" border="2" cellpadding="2"
{| align="center" class="standard" border="2" cellpadding="2"
Рядок 96: Рядок 106:
  ------.--------.>+.>.
  ------.--------.>+.>.
</pre>
</pre>
Деякі люди на Брейнфаках пишуть навіть [http://habrahabr.ru/blogs/crazydev/95126/ морський бій].
===Посилання===
===Посилання===
* [http://bf-fan.coolpage.biz/ Трохи  більше про БрейнФак]
* [http://bf-fan.coolpage.biz/ Трохи  більше про БрейнФак]
Рядок 101: Рядок 112:


== Befunge ==
== Befunge ==
'''Befunge''' — оригінальна езотерична мова програмування, програми на якій записуються як таблиця, по якій лазить інтерпретатор.
'''Befunge''' — оригінальна езотерична мова програмування, програми на якій записуються як таблиця, по якій лазить [[інтерпретатор]].
===Приклади===
===Приклади===
Hello, world:
Hello, world:
Рядок 134: Рядок 145:
     >^
     >^
</pre>
</pre>
===Посилання===
*[http://esoteric.voxelperfect.net/wiki/Befunge Стаття у енциклопедії езотеричних мов]
== Malbolge ==
'''Malbolge''' — мова, що була створена, аби стати найважчою для написання програм. Мова така важка, що перша програма була не написана, а згенерована другою програмою на [[Lisp]].
===Приклад коду===
Hello, world:
<pre>(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}
/.zHGwEDCBA@98\6543W10/.R,+O<
</pre>
===Посилання===
* [http://www.99-bottles-of-beer.net/language-malbolge-995.html Код на Malbolge, що виводить пісеньку про 99 пляшок пива (!)]
== Piet ==
[[Файл:Piet hello.png|200px|thumb|right|«Hello world!» на Піет]]
'''Piet''' — графічна, езотерична мова програмування. Код на Piet виглядає як абстракція.<br /><br /><br /><br /><br />
== Spoon ==
'''Spoon''' — мова, еквівалентна Brainfuck, але Спун використовує одиниці та нулі для запису програм. То є просто пиздець.
===Hello, world!===
<pre>1 1 1 1 1 1 1 1 1 1 00100 010 1 1 1 1 1 1 1 010 1 1 1 1 1 1 1 1 1 1 010 1 1 1 010 1 011 011 011
011 000 0011 010 1 1 001010 010 1 001010 1 1 1 1 1 1 1 001010 001010 1 1 1 001010 010 1 1 001010
011 011 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 010 001010 1 1 1 001010 000 000 000 000 000 000
001010 000 000 000 000 000 000 000 000 001010 010 1 001010 010 001010</pre>
== Whitespace ==
[[Файл:Whitespace.png|200px|thumb|right|Сферична програма на Whitespace]]
'''Whitespace''' — мова, що використовує для запису програм лише символи, що не відображаються ("\n", пробіли, табуляції). Сама мова є реалізацією [[Стекова машина|стекової машини]]. Основна фіча цієї мови - її прихованість у звичайному редакторі. Нічого не підозрюючий юзер, відкривши ваш файл побачить, скажімо сішний бидлокод, або казочку про котика та білочку. А в буквальному сенсі поміж рядків цієї казочки, та й навіть між слів, буде написана програма, що призведе до повстання машин.
== Мс’є знаєт толк в ізвращеніях ==
Деякі люди навіть намагаються писати нормальні програми на таких мовах (наприклад морський бій, див. Brainfuck).
== Посилання ==
* [http://sourceforge.net/projects/esco/ Esco - інтерпретатор езотеричних мов]
* [http://esoteric.voxelperfect.net/wiki/Main_Page Енциклопедія езотеричних мов]
[[Категорія:Мови програмування]]