Кожен студент в ХНУРЕ вивчає стандартні мови програмування: JavaScript, C++, Python тощо. Але як щодо тих мов, які дуже складно вивчити, а ще складніше — написати програму на ній. 

 

      Перед тим, як розповісти основний зміст статті, треба дізнатися, що таке езотеричні мови програмування. Це мови програмування (МП), які створені не для реальних проєктів, а їх основна ціль — дослідити можливості кодингу, створеного найчастіше як певний комп’ютерний жарт.

 

1. Malbolge

      Ми звикли, що типові МП мають чіткий (іноді складний) синтаксис. Але Malbolge — виняток. Ця мова була розроблена у 1998 році й за весь час на ній було написано лише 3 програми! Ось так виглядає код, який виводить усім відомі “Hello World”:

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

 

2. WhiteSpace

      С коріш за все, ця МП була написана з однією метою: не видно коду — не видно помилок. Це теж езотерична мова програмування. Для написання коду використовуються непечатні конструкції: пробіли, табуляція та перехід на новий рядок. Ніяких інших символів. В принципі писати програми такою мовою програмування можливо, проте перевіряти код на наявність помилок — ще та задача.

 

3. Brainf#ck

      Мінімалістична мова програмування, яка має прості 8 команди, які записуються як 1 символ. Деякі з них:

> — перейти до наступної сторінки;

. — надрукувати значення поточної комірки;

, — ввести ззовні значення і зберегти в поточну комірку.

 

Програма мовою Brainf#ck, що виводить «Hello World!»:   ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. Все просто, проте нічого не зрозуміло. 

 Shakespeare

      Езотерична МП, суть якої — замаскувати початковий код програми під п’єси Шекспіра. Список персонажів програми служить для оголошення кількості стеків, які носять імена, до прикладу, «Ромео» і «Джульєтта». Герої, спілкуючись один з одним, рухають програму вперед. Зазвичай, код програм, написаних на Shakespeare доволі довгий.

.

Trumpscript

      Trumpscript — провідна мова кодування, яку програмісти вважають дивною мовою програмування. Вона присвячена знаменитому Дональду Трампу. У цій мові кодування є кілька особливостей, таких як відсутність чисел з плаваючою комою, числа повинні бути більше одного мільйона (навіщо Великій Америці малі числа?), не допускаються оператори імпорту, тому що Америка сама може все виробляти та багато іншого.

 

Befunge

      Це стекова езотерична мова програмування. Вона відрізняється від звичайних мов тим, що код програми, написаної на Befunge, розташований у двовимірному просторі інструкцій, а виконання програми може відбуватись у будь-якому напрямку.  Вона використовує унікальну модель даних і набір інструкцій для виконання обчислень на координатній сітці. Приклад програми:

>              v

v  ,,,,,"Hello"<

>48*,          v

v,,,,,,"World!"<

>25*,@

 

Piet

      Мабуть, найкрасивіша мова програмування. Програми, написані цією мовою мають вигляд як різнокольорові картинки, наче у стилі абстракціонізму. Основою цієї МП є 20 кольорів. Доступні декілька реалізацій. Переходи між 20-ма доступними кольорами — це команди. Кожна програма на Піті являє собою двовимірну картинку, й ділиться на пікселі. Цікава подробиця: помилки просто ігноруються. Тобто якщо написати неможливу команду, компілятор не буде зупинятися на ній.

 

      Звичайно, вивчення Java, Python або C++ є більш практичним і корисним, проте якщо вивчити езотеричні МП можна вихвалятися на зустрічах з айтішниками, а також розвивати їх.

 

Успіхів у навчанні!

Максим Мороз

 

 

 

 

 

 

Популярні статті

Читати далі