Clojure в эпоху языковых моделей: почему Lisp снова актуален
Clojure in the age of language models
Автор утверждает, что в эпоху генеративных моделей ключевой навык разработчика — распознавать форму проблемы и выбирать правильный способ её выражения. Императивное программирование становится похожим на написание ассемблера, поскольку LLM хорошо пишут код в малом, но спотыкаются на высокоуровневом дизайне. Clojure с его REPL, иммутабельностью, макросами и гомоиконичностью даёт живое окружение, где изменения применяются мгновенно, а состояние сохраняется. Это сокращает цикл обратной связи и делает язык удобным как для людей, так и для агентов.
В эпоху, когда писать код дёшево, а верификация и итерации остаются дорогими, высокоуровневый декларативный стиль точно соответствует тому, что нужно и агентам, и людям для создания работающего кода.
- slifin
Обожаю Flowstorm в Clojure — с ним легко убедиться, что код делает то, что ты думаешь. Все данные доступны программно, так что можно и свои GUI на их основе делать, и скармливать их LLM, чтобы те глубоко понимали поведение программы (или можно самому всё это просматривать).
- mrkeen
> Более серьёзная проблема — это утомительная необходимость восстанавливать нужное состояние при каждом запуске. Когда у тебя что-то маленькое с ограниченной функциональностью, это нормально, но по мере роста приложения пересборка состояния может требовать значительных усилий.
Вот для чего нужны тесты. Не должно быть накопления внутреннего состояния, до которого нельзя добраться простым вызовом в юнит-тесте.
- dzonga
Я давно не писал на Clojure.
но думаю, Clojure отлично подходит для эпохи LLM. Экономия токенов. Всё есть данные, даже код — это данные, с этим легко работать и проверять. Чистые функции и т.д.
однако всё равно придётся уметь писать и читать Clojure. А индустрия движется к тому, чтобы не читать код — например, та чушь, которую в последнее время повторяет dhh про то, что код читать не надо, и многие в индустрии туда же.