Езотеричні мови, propascal - все для програмістів
Це дуже складна частина сучасної системи. У світі програмування часто відбуваються ірраціональні події, але ніхто і не припускав, що розробники найскладніших кодів віддадуть перевагу відійти від усіх звичайних стандартів. Тільки одиниці користувачі розуміють, навіщо був здійснений цей крок
Езотеричні мови програмування за своєю суттю
Порівняння різних мов програмування підказує, що розробники езотеричного напрямку грунтувалися на жорстких принципах. Вони лягли в основу глобальної роботи, проведеної заради досягнення поставленої мети. Чим займалися фахівці?
Скориставшись своїми знаннями вони постаралися максимально спростити програмування. Це аніскільки не вплинуло на їх дії, але скоротило загальний список команд. Саме він зазвичай вважається проблемою, яка змушує періодично звірятися з літературою. Тепер цього робити не доведеться, якщо вдасться розібратися в поєднанні окремих символів.
Популярні езотеричні мови програмування
Сьогодні можна довго перерахувати список езотеричних мов, але корисніше зупинитися тільки на декількох з них. Вони набули найбільшого поширення, будучи визнаними навіть класичними програмістами.
Кожен відрізняється важливими особливостями, які вимагають детального розгляду. За рахунок нього вдасться зіставити деталі, зрозумівши, який сенс був в розробці, і наскільки реально широке поширення.
Мова Byter
Byter - це не просто езотеричний мову програмування, а справжня головоломка. Він являє собою звичайну матрицю з осередками 16х16. У кожну з них поміщається власна команда, що дозволяє прописувати складний алгоритм за допомогою переміщення від однієї до іншої.
Цікавим фактом є кількість команд. Воно обмежене всього 11, чого цілком достатньо для складання повноцінного алгоритму. Практика показує, що після ретельного вивчення фахівцям вдається створювати непогані рішення. Які переваги варто виділити?
- Велика матриця;
- Невеликий список команд;
- Автоматичне генерування програм.
Останній пункт потрібно особливо відзначити. Чітко прописані правила складання програм на мові Byter уможливили автоматичне складання алгоритмів. Причому їх якість нічим не відрізняється від ручного складання.
Мова Brainfuck
Кількість команд в мові обмежується всього 8, але це анітрохи не заважає складати повноцінні програми. Численні тести дозволяють зробити висновок, що для точних обчислень можна вільно використовувати саме його, замінюючи складні принципи і алгоритми. Які тонкощі важливіше інших?
- Маленький компілятор;
- Мінімум команд;
- Відсутність традиційних арифметичних дій;
- Повноцінна розробка програм.
Основною проблемою мови Brainfuck залишилося відсутність стандартних арифметичних дій. Цей факт ускладнює складання алгоритмів, але при необхідності його можна обійти і отримати непогану програму.
Мова Befunge
Кількість команд, які розміщені в осередку і використовуються для виконання основних дій, становить 27. Причому двовимірний мову дозволяє вільно застосовувати їх, поетапно ладу непомірно оригінальний алгоритм. У чому його особливості?
Мова Intercal
Intercal - езотеричний мову програмування, який вразив своєю суттю. Він з'явився в 1972 році, будучи написаним Джеймсом М. Лайоном і Доном Вудсом. Причому його головною складовою стала пародія на традиційні варіанти. Ця особливість показала, чому саме повинні ставати нестандартні прийоми.
- Повні розрахунки;
- Складний список команд;
- Нестандартні назви.
Мова Intercal - найдавніший з езотеричних, але саме він краще за інших показує, наскільки непотрібними вони повинні ставати. Хоча після вивчення особливостей можна вільно створювати надійні і повні алгоритми.
Мова False
Широкий набір команд дозволяє створювати складні алгоритми. Причому їх написання більше нагадує шифрування, тому готові композиції трохи дивують навіть професіоналів. Хоча їх застосування має сенс, що підтверджено різними тестами. Які подробиці повинні зацікавити фахівців?
- Різноманітність команд;
- Відмова від традиційного синтаксису;
- Повні розрахунки.
Мова False відразу дивує повним набором арифметичних дій, але разом з ними йдуть додаткові команди. Вони частково спрощують розрахунки, роблячи їх максимально зручними, причиною чого є основа, якої став Forth.
Мова Whitespace
Список команд невеликий, адже основою є лише нецензурні символи. Хоча в деяких випадках додаються числові значення, які також можна успішно вносити прямо в готовий код. Які особливості мови?
Цікавою особливістю є можливість приховування алгоритму всередині коду іншої програми. Секретом стали недруковані символи, що залишають після себе білий аркуш. Так що розробникам вдалося піти складним шляхом до оригінальної мети.
Piet - езотеричний мову програмування, створений з використанням різноманітної кольорової гами. Він отримав свою назву від відомого голландського художника, а його розробкою займався Давид Морган-Мар. Йому вдалося навчитися створювати алгоритми, що зовні нагадують абстрактну картину.
Великий список команд потрібно лише для підтримки спільних відтінків. Їх кількість становить 20, а 18 пов'язані між собою. Окремо залишаються тільки чорні і білі блоки, що застосовуються в якості основи синтаксису. У чому особливості мови?
- Основа - колірна гамма;
- Написання повноцінних алгоритмів;
- Оригінальна інтерпретація синтаксису.
Білі блоки дають рух по прямій, а чорні - змушують зупинитися або розвернутися на 90 градусів. Решта відтінки перетворюються в частину синтаксису, стаючи необхідністю для написання алгоритму на мові Piet.
Мова Lolcode
Lolcode - езотеричний мову програмування, що вважається примітивним. Його основою став місцевий американський сленг, що сильно обмежило аудиторію. Спочатку потрібно пізнати його секрети, а потім починати розбиратися в основних програмах і синтаксисі для написання алгоритмів.
Список команд обмежується лише 6 основними діями. Їх досить для виконання складних підрахунків, хоча сучасники давно успішно забули про цю «жарті». Чим зацікавить мову?
- Мінімум команд;
- Оригінальний синтаксис;
- Просте складання алгоритмів.
Мова Lolcode виявився інтерпретацією скороченого місцевого американського прислівники. Він практично не набув поширення, нехай навіть з'явилися і діючі програми, і компілятори. Його складність полягає в глибокому розумінні, а не складанні алгоритмів, тому спочатку доведеться звернутися до лінгвістики.
Езотеричні мови програмування показали нетрадиційний підхід до складання алгоритмів. Спочатку здається, що їх мета нітрохи не змінилася. Так, вони також застосовні для виконання складних розрахунків, але їх застосування виявляється безглуздим. Якщо ж хочеться познайомитися з нестандартними варіантами і синтаксисом, кращого способу, крім їх вивчення, знайти не вийде.