
Интересные языки

Место не очень, короче.
Лет десять назад я писал, что у меня есть два "я" - дневное и ночное, и они не сильно друг с другом контактируют. Но все это время я наводил мосты и теперь такой проблемы у меня нет. Оба "я" вполне в гармонии друг с другом. Оказывается, это очень удобно - когда у тебя есть как бы две точки зрения и всякие явления ты можешь обозревать с двух сторон. Будто у тебя верный друг, с которым всегда можно посоветоваться, и он при этом не обманет и не предаст.
Чтобы понять смысл этого сна, не нужно быть дедушкой Зигги. И нет, он вовсе не о том, что я сошел с ума, потому что во сне я чувствую себя ровно так же, как и наяву - вполне в здравом уме. И еще я знаю, что я там временно. Вообще говоря, мне этот мотив уже года три снится, только вместо сумасшедшего дома было все время что-то типа пионерлагеря или студенческих сельхозработ, и ни те, ни другие я тоже в свое время не жаловал, поскольку они вызывали лишь депрессию.
Поэтому дневной "я" решил отвлечься от унылых реалий, вспомнить свою основную профессию и начать лазить по англоязычным дискуссиям соответствующей направленности. В основном по темам, связанным с языками программирования - потому что они меня раньше очень интересовали. Я даже делал в молодости игру, но в результате у меня получились только компилятор компиляторов, просто компилятор и байткодная виртуальная машина.
И вот давно у меня было убеждение, что ничего нового в этой сфере не появляется со времени Icon, а это середина 70-х. Одно и то же мусоленье старых концепций, массовое помешательство на ООП, которое в 90-е пиарили как картошку на Руси, и унылое перетасовывание синтаксиса.
Ну вот еще только Раст представляет какой-то интерес - с его концепцией отслеживания использования переменных за счет ограничения их передачи.
Оказывается, в цивилизованных странах (блджад, неужели я это написал? Эта фраза - отрыжка уже из наших 90-х, но на фоне того самого сумасшедшего дома она смотрится совершенно по-новому, отражая суть) люди живут - и не просто живут, а придумывают новое, и даже многие, кто не придумывают, живо придуманным интересуются.
Сейчас, оказывается, пошла мода на то, чтобы сделать функциональное программирование ближе к народу, и с разреженных высот хаскелевских монадных трансформаций снизойти до простых смертных с их банальными проблемами. Сделать не такой сжатый синтаксис, не заметать состояние в дальний угол, делая вид, что его как бы нет. И еще пошла мода на изучение алгебраических эффектов. Я так и не понял, чего они называются алгебраическими. В реале это выглядит как возможность задавать одному куску кода разные интерпретации в зависимости от блока реализации этих самых эффектов, следующих за ним. Забавно, но как это поможет избавиться от засилья монад при обработке состояния, пока не очень понятно.
Назову несколько цифр: восемь, пять, четыре. Нет, не так. Назову несколько имен:
Flix, Unison, Koka, Verse, Darklang
Не знаю, что из этого выстрелит, а что так и останется экспериментом, но уже любопытно.
В Унисоне, например, придумали распознавать объекты не по имени, а по хэшу их нормализованного синтаксического дерева, т.е. по реальному содержанию. Это избавляет сразу от ада несовместимых версий, когда на одно имя претендуют несколько библиотечных функций, а заодно делает весьма простым переименование. Ну и программы хранятся в специальной базе и отнюдь не текстом.
Verse сочиняют EpicGames, предполагая, очевидно, использовать его для скриптования игр, но сам язык при этом получился весьма навороченный и с новыми идеями. Кстати, и старые в дело пошли - тот же явно видимый программисту откат в случае неуспеха из Icon.
Но мой фаворит вот.

Вот те веселые разноцветные смайлики наверху - это и есть код. Знакомьтесь - язык с не менее веселым, хотя и труднопроизносимым именем Uiau, продукт свального греха АПЛ и Форта. На стеке хранятся массивы целиком, элементарные операции над ними апл-овские, а синтаксис почему-то в прямой польской записи а ля Лисп.
Программа на картинке рисует логотип языка, изображенный внизу. Хотя на самом деле не рисует, а строит матрицу точек.
Так что, оказывается, жизнь за пределами психушки продолжается и более того - цветет.
|
</> |
