Найнезвичайніші мови програмування.

В школі та університеті більшість з нас стикаються з такими відомими мовами програмування, як Бейсік, Паскаль, Сі. Тим не менш, існують деякі досить незвичайні комп'ютерні мови. Природно, для широкого застосування вони не призначені, будучи розробленими для хакерів, так захоплених ентузіастів. Часто ці екзотичні мови взагалі придумуються для розваги, вони або пародіюють справжніх своїх побратимів або ж взагалі є абсурдним підходом до деяких серйозних догмам програмування.

Зате у будь-якої такої мови є приємна особливість - текст програми на ньому зрозумілий лише присвяченим, або взагалі незрозумілий у разі, якщо для складання програми треба спершу створити її на звичайній мові. Якщо розробники звичайних мов намагаються зробити синтаксис своїх дітищ максимально зрозумілим, а програмування - комфортним, творці незвичайних мов керуються прямо протилежними інструментами для досягнення своєї унікальності.

INTERCAL. Ця мова є однією з найстаріших в комп'ютерному програмуванні. Самі його творці стверджують, що назва означає дослівно "Мова програмування з невимовним абревіатурою". Творцями INTERCALL в 1972 році стали студенти Дон Вудс і Джеймс Лайон. Молоді люди хотіли створити пародію на існуючі мови програмування, потренировав до того ж свій мозок. В результаті їх дітище, INTERCALL має принципові відмінності від інших мов. Звичні в інших місцях стандартні операції працюють тут незвичайним способом. Автори внесли в свій язик парадоксальні конструкції, такі як "COME FROM", "FORGET" і навіть "PLEASE ABSTAIN FROM CALCULATING" ("іди", "забудь" і "будь ласка, утримайтесь від обчислень"). Спеціальні імена були дані і символів. Так, лапки іменуються кролячими вухами, а знак рівності "=" - полрешетки, так як сама решітка виглядає як "#". Тим не менш, незважаючи на незвичність такої мови, він дозволяє робити такі обчислення, як і будь-який інший нормальний засіб програмування.

Whitespace. Назва цієї мови дослівно означає "пробіл". У цього інструменту є суттєва відмінність - для його керуючих конструкцій використовуються тільки недруковані символи, в число яких потрапили пробіл, табуляція і символ перекладу рядка. Наслідком цього став той факт, що текст програми на цьому екзотичному мовою можна приховати всередині исходников іншої програми. "Whitespace" з'явився на світ 1 квітня 2003 року, авторами стали Едвін Бреді і Кріс Морріс. Дата народження мови стала причиною того, що його спочатку сприймали як жарт.

Chef. Авторами цієї мови в 2002 році став Девід Морган-Марон. Цікаво, що програми на Chef схожі з приготуванням страв за рецептами. Всі змінні названі на честь основних продуктів харчування. Стеки, куди потрапляють значення змінних, називаються "mizing bowls" (чаша міксера), а операції для роботи з ними - "mix" (змішування), "stir" (розмішати) і так далі. Мова "Chef" ґрунтується на наступних принципах:
- рецепти програмування повинні не тільки давати необхідний результат, але і бути легкими в приготуванні і надзвичайно смачними;
- рецепти повинні бути доступні кожному кухарю", незважаючи на його бюджет;
- у рецептах дозволяється використовувати традиційні кулінарні засоби, такі як столові ложки і чашки.
Щоб зрозуміти унікальність цієї мови, треба привести лише список використовуваних для приготування інгредієнтів - p (potatoes, картопля), d (dijon mustard, гірчиця), l (lard, сало), r (red salmon, червоний лосось), o (oil, масло), w (water, вода), z (zucchinis, цукіні).

Velato. В даному мовою основою для вихідного коду служить звуковою MIDI файл. Програми визначаються порядком нот і їх висотою, що дає гнучкість в написанні коду. Творці заявляють, що вони прагнуть до гармонії, притаманною музики, зокрема джазу. Всі повідомлення в мові починаються з головною і загальною для всіх ноти, а від неї вже задаються музичні інтервали, які і виступають командами. Щоб ритм в повідомленнях був більш музичним, допускається заміна головної ноти.

Shakespeare. Цей екзотичний мову був створений Джоном Аслаудом і Карлом Хассельстромом. Метою "Шекспіра" було замаскувати вихідний текст програм, надавши їм вигляд п'єс великого драматурга за аналогією з мовою Chef. На початку програми оголошується список діючих персонажів. Таким чином автори оголошують кількість стеків. В результаті вони отримують такі імена, як Ромео або Джульєтта. Герої спілкуються один з одним, задають один одному питання, фактично ж здійснюють операції введення/виводу і використовують умовні оператори. Хоча програмна модель і нагадує асемблер, на ділі вона значніша багатослівнішими. Від початку документа до першого пустого рядка розташовується епіграф. Цей абзац перший компілятор сприймає, як коментар. Частини коду програми на мові "Шекспір" іменуються "Актами", які поділяються на сцени. Кожна "Сцена", як і кожен "Акт" пронумеровано римськими цифрами, служачи мітками для оператора "GOTO". Щоб персонажам прийняти участь у дії, їм треба спершу вийти на сцену. Для приміщення їх туди служить команда "Enter". Правда, якщо на сцені більше одного персонажа, стає незрозумілим, з ким саме ведеться спілкування. Тому зайве дійова особа видаляється з допомогою команди "Exit". По закінченні дії акта або ж при необхідності очистити сцену відразу від декількох персонажів треба скористатися командою "Exeunt".

Omgrofl. Це засіб програмування створив в 2006 році інженер Juraj Borza. Ключові слова мови вельми нагадують поширений в Інтернеті сленг. Назва ж "Omgrofl" і зовсім є результатом об'єднання слів "omg" і "рольф". Останнє є фактично однією з команд цієї мови. Цікаво, що змінні в ньому повинні виступати формою сленгової мови lol. Таким чином тут можна побачити lool, loool, looool і так далі.

Piet. Це екзотичний мову придумав вже згаданий Девід Морган-Маром. В даному випадку в якості програм виступають кольорові картинки, а код представлений у формі абстрактних малюнків. В результаті програма на цій мові недосвідченому погляду нагадає абстракцію постмодерніста. Ім'я мову отримав від голландського художника Піта Мондріана. Для програмування використовується 20 різних колірних відтінків. При цьому 18 з них пов'язані один з одним за допомогою циклів відтінків і яскравості. Лише білий і чорний кольори не входять у ці цикли.

Befunge. Сама перша версія цієї мови з'явилася на світ ще 1993 року, а автором став Кріс Пресси. Як він сам стверджував, що його метою було створити мову максимально складний для компіляції. Для цього в мову були внесені команди "p" і "g", які модифікували текст програми. Практично всі одновимірні мови програмування вимагають деякі синтаксичних відмінностей між вихідним кодом і самими коментарями до нього. А ось у мові Befunge взагалі не передбачено будь-яких синтаксису для коментаря. Для того щоб вставити пояснення в код, програміст просто "обводить" управління навколо цієї області. Завданням компілятора є виявлення таких непозначених нічим коментарів.

Malbolge. Таке незвичайне програмний засіб придумав у 1998 році Бен Олмстед. Він вирішив створити мову, який був би максимально складним для створення на ньому програм. Та й назву було вибрано підходяще, адже Malebolge - восьмий коло пекла Данте. Щоб створити на цій мові першу програму знадобилися довгі два роки.

Brainfuck. Ця мова є одним з найбільш відомих серед всіх незвичайних засобів такого роду. Автором його став у 1993 році німець Урбан Мюллер, який створив своє дітище заради забави. В мові всього вісім команд, для написання кожної з них потрібно всього один символ. Вихідний текст програми на Brainfuck виглядає як послідовність цих символів без якого-небудь додаткового синтаксису. Урбан Мюллер згадує, що він прагнув створити мову з мінімально можливим компілятором. Частково його надихнув на цю роботу мову FALSE, чий компілятор займав всього 1024 байта. А для мови Brainfuck в природі існують компілятори менше 200 байт! Писати на ньому в результаті настільки складно, що програмісти жартують, що це мова для справжніх мазохістів. Невипадково дослівний переклад Brainfuck означає "статевий акт з мозком". Тим не менш варто відзначити, що Brainfuck є не тільки простою мовою, але і природним, повним і може використовуватися при визначенні поняття обчислюваності.

Популярные мифы.Популярні секрети.Популярні факти.Популярні ради.Популярні тести. Пошук по сайту. Ошибка в тексте.
Помітили помилку? Виділіть її мишкою та натисніть: Ctrl + Enter.

В продовження теми ...