Комментарии 15
еще brainfuck
В заголовке надо уточнить: 5 странных бесполезных языков.
Потому что есть APL, Inform7 и другие, которые реально использовались и используются в бизнесе.
Плохая статья.
В ней просто названы несколько взятых наобум мусорных языков и показаны случайные примеры на них.
Что мы видим? Что это write-only языки, код на которых больно читать. И больше ничего не видим.
Какие идеи заложены в эти языки, помимо минимального синтаксиса и нечитаемости? Можете рассказать?
Давайте-ка я сделаю это за вас. Начну с "традиционных" вырвиглазок.
Старый добрый брейнфак. Это - разновидность машины Тьюринга. (В которую добавили бесконечное количество состояний ячеек и откуда убрали goto).
Unlambda. Комбинаторная логика на традиционном базисе SKI.
Йот. Довели КЛ до абсурда-и-предела, базис из единственного комбинатора i.
APL, J, K, Q. Это промышленные языки, которые работают с произвольными тензорами, а синтаксис упрощён в пользу тацитной (безымянной) нотации. Упор там сделан на очень быстрый парсер и очень быстрый интерпретатор.
Лисп. Лямбда-исчисление, код-как-данные, сам себя интерпретатор.
Форт. Стековая машина, ПОЛИЗ, и опять же сам себя интерпретатор.
А теперь посмотрим на то, что в статье.
Malbolge. Просто упоротая машина Тьюринга. (Но не брейнфак).
Whitespace. Брейнфакнутая версия форта.
Chef. Коболизированная версия форта с множеством стеков.
INTERCAL. Коболизированная версия бейсика.
Коболизированная версия брейнфака.
Скушно! Просто потрахать мозг. Никакой красивой математической идеи за ними не стоит.
Самый странный язык - XSLT. И на нем реально пишут, в отличие от Брэйнфака.
Да ладно, с чего бы странный, просто чистая функциональщина с xml синтаксисом. Я на нем немало писал в свое время лет 15 назад, вплоне приятно.
Ничего странного в нём не вижу. Пользовался. Очень даже полезная штука в отличии от приведенных в бесполезной статье бесполезных примеров бесполезного использования бесполезных языков
Был такой язык на рубеже века: java2000, по своей теоретической ценности, в качестве фитнесса для мозгов, весьма достойный язык. Не смотря на весьма привычный синтаксис, в основе лежал "пробабилистический детерминизм": каждая функция возвращяет преимущественно не но что вы от неё ожидаете, и вот попробуйте с этим реализовать что-то осмысленное. Автору весьма интересные примеры удавались.
Не могу сейчас уже найти, помню только что автор был из Англии, на каком-то университете проект тогда хостился.
Я как-то попробовал Erlang, но данный язык даже кем-то используется, особенно в многопоточных приложениях.
erlang/elixir/scala вроде больше про встроенную модель акторов и распределённую работу, поэтому некоторые облака на них делают - проще синхронизировать проще скейлить, проще общаться. И всё это дело асинхронно и с функциональным стилем обработки ошибок. А многопоток там сам под капотом джобы разбирает.
5 самых странных языков программирования: для чего они нужны и что на них можно написать