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

Surikoff (обговорення | внесок)
Немає опису редагування
м Редагування користувача 95.132.115.27 (обговорення) відкинуті до версії користувача Surikoff
 
(Не показані 10 проміжних версій 3 користувачів)
Рядок 3: Рядок 3:


== 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]]:
На [[Python|Пайтоні]]:
<pre>
<pre>
code = raw_input(">>")
code = raw_input(">>")
Рядок 28: Рядок 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 Онлайн інтерпретатор]
Рядок 60: Рядок 67:


== 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"
Рядок 165: Рядок 172:
== Whitespace ==
== Whitespace ==
[[Файл:Whitespace.png|200px|thumb|right|Сферична програма на Whitespace]]
[[Файл:Whitespace.png|200px|thumb|right|Сферична програма на Whitespace]]
'''Whitespace''' — мова, що використовує для запису програм лише символи, що не відображаються ("\n", пробіли, табуляції). Сама мова є реалізацією [[Стекова машина|стекової машини]].
'''Whitespace''' — мова, що використовує для запису програм лише символи, що не відображаються ("\n", пробіли, табуляції). Сама мова є реалізацією [[Стекова машина|стекової машини]]. Основна фіча цієї мови - її прихованість у звичайному редакторі. Нічого не підозрюючий юзер, відкривши ваш файл побачить, скажімо сішний бидлокод, або казочку про котика та білочку. А в буквальному сенсі поміж рядків цієї казочки, та й навіть між слів, буде написана програма, що призведе до повстання машин.


== Мс’є знаєт толк в ізвращеніях ==
== Мс’є знаєт толк в ізвращеніях ==