Как стать автором
Обновить

5 самых странных языков программирования: для чего они нужны и что на них можно написать

Время на прочтение25 мин
Количество просмотров18K
Всего голосов 39: ↑25 и ↓14+24
Комментарии15

Комментарии 15

Brainfuck, кстати, опустим, ведь его на Хабре и так регулярно вспоминают

Да и сама тема эзотерических языков регулярно всплывает. Первый раз еще можно почитать ради прикола, следующие разы уже скучно:)

В заголовке надо уточнить: 5 странных бесполезных языков.

Потому что есть APL, Inform7 и другие, которые реально использовались и используются в бизнесе.

Тоже надеялся, ща с как покажут как они там Coq каким-нибудь jsonы раздают, а там древний как код топ эзотерических языков. Даже не Piet или Geometry Dash/Terraria/Minecraft.

Плохая статья.

В ней просто названы несколько взятых наобум мусорных языков и показаны случайные примеры на них.

Что мы видим? Что это write-only языки, код на которых больно читать. И больше ничего не видим.

Какие идеи заложены в эти языки, помимо минимального синтаксиса и нечитаемости? Можете рассказать?

Давайте-ка я сделаю это за вас. Начну с "традиционных" вырвиглазок.

  1. Старый добрый брейнфак. Это - разновидность машины Тьюринга. (В которую добавили бесконечное количество состояний ячеек и откуда убрали goto).

  2. Unlambda. Комбинаторная логика на традиционном базисе SKI.

  3. Йот. Довели КЛ до абсурда-и-предела, базис из единственного комбинатора i.

  4. APL, J, K, Q. Это промышленные языки, которые работают с произвольными тензорами, а синтаксис упрощён в пользу тацитной (безымянной) нотации. Упор там сделан на очень быстрый парсер и очень быстрый интерпретатор.

  5. Лисп. Лямбда-исчисление, код-как-данные, сам себя интерпретатор.

  6. Форт. Стековая машина, ПОЛИЗ, и опять же сам себя интерпретатор.

А теперь посмотрим на то, что в статье.

  1. Malbolge. Просто упоротая машина Тьюринга. (Но не брейнфак).

  2. Whitespace. Брейнфакнутая версия форта.

  3. Chef. Коболизированная версия форта с множеством стеков.

  4. INTERCAL. Коболизированная версия бейсика.

  5. Коболизированная версия брейнфака.

Скушно! Просто потрахать мозг. Никакой красивой математической идеи за ними не стоит.

А математическая или даже просто идея - не особо то и нужна, когда за статьёй стоит МТС. Или Сбербанк. Или какой-нибудь прочий Яндекс.

Очередной раз когда комментарий интереснее статьи...

P.S. даже логотип для языка Chef взяли от системы управления конфигурациями, написанной на Ruby...

Самый странный язык - XSLT. И на нем реально пишут, в отличие от Брэйнфака.

Да ладно, с чего бы странный, просто чистая функциональщина с xml синтаксисом. Я на нем немало писал в свое время лет 15 назад, вплоне приятно.

Ничего странного в нём не вижу. Пользовался. Очень даже полезная штука в отличии от приведенных в бесполезной статье бесполезных примеров бесполезного использования бесполезных языков

Был такой язык на рубеже века: java2000, по своей теоретической ценности, в качестве фитнесса для мозгов, весьма достойный язык. Не смотря на весьма привычный синтаксис, в основе лежал "пробабилистический детерминизм": каждая функция возвращяет преимущественно не но что вы от неё ожидаете, и вот попробуйте с этим реализовать что-то осмысленное. Автору весьма интересные примеры удавались.

Не могу сейчас уже найти, помню только что автор был из Англии, на каком-то университете проект тогда хостился.

И как всегда, никто не добавляет Piet

Я как-то попробовал Erlang, но данный язык даже кем-то используется, особенно в многопоточных приложениях.

erlang/elixir/scala вроде больше про встроенную модель акторов и распределённую работу, поэтому некоторые облака на них делают - проще синхронизировать проще скейлить, проще общаться. И всё это дело асинхронно и с функциональным стилем обработки ошибок. А многопоток там сам под капотом джобы разбирает.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий