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

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

Большое спасибо за перевод.
Я один из тех, кто разрабатывает веб-приложения на hunchentoot вместо использования лучшего. Теперь присмотрюсь к Clack. Собственно ушел смотреть :)
Меня очень заинтересовал этот JSCL, 170Kb в скомпиленном виде, и список символов на пакет CL выдает 900+, может заглушки, но все равно неплохо. Надо понять какой из него есть интерфейс к JS и можно сделать аналог OM, о котором мы говорили на конфе =)
А вот скажите, чем Common Lisp лучше того-же Clojure? Не холивар, серьезно интересно.
Они очень разные, Common Lisp это самостоятельный, полноценный, мультипарадигменный язык с составлявшимся годами стандартом. Clojure сложно назвать самостоятельным. Насколько мне известно, например в нем нет собственной реализации объектной системы, используется доступная в JVM, в нем нельзя управлять стеком вызовов и сделать аналог condition-restart из Common Lisp, даже хвостовая рекурсия поддерживается только через специальный оператор recur. Вобщем все ограничения (и плюсы) JVM так или иначе отражаются на нем.

Common Lisp в противовес определяется стандартом, а не идеями одного человека и ограничениями платформы, так он не позиционируется как функциональный с точки зрения иммутабельности данных (это есть в библиотеках), дает контроль над ридером благодаря ридер-макросам (в кложуре появилось что-то отдаленно похожее для определения текущей платформы, clojure или clojurescript) и тд.

По-моему Clojure это больше скриптовый язык для Java-приложений, а Common Lisp для написания на нем всего что может быть нужно, вплоть до ассемблерного кода.
Спасибо за ответ. Со стороны Clojure люди говорят, что другие лиспы для современных (читай, многопоточных) приложений подходят слабо, было интересно мнение другой стороны.
На самом деле интересно, сколько из этих людей имели опыт с CL. Просто в кложу встроены примитивы для многопоточности, а CL они находятся в отдельных библиотеках (типа STMX, lparallel). По-моему, решения встроенные в язык кажутся людям лучше и надежнее.
Например, в кложуре стандартные джавные исключения из-за ограничений платформы. И крайне неинформативные трейсы на 100 уровней.
БОЛЬШОЕ СПАСИБО за Вашу статью!!! Пошел смотреть на CommonQT… Меня очень радует тот факт, что такой классный язык как Common Lisp развивается, появляются новые библиотеки и фреймворки. Это — КРУТО!!!
А как насчет Racket? Может быть кто-нибудь использова и то и другое? Я сейчас как раз вибираю между ними.
Я пробовал года 3 назад, написал модуль с кастомной авторизацией толи для апача, толи нгинкса и веб интерфейс к сканеру через sane. Собственно с обоими задачами хорошо справился, у Racket из коробки огромная стандартная библиотека (в CL все это тоже есть, только отдельным пакетами), и подробная документация, так что начать с ним проще. Но количество библиотек в CL значительно больше, и, так скажем они более production ready. Хотя это субъективно и может на текущий момент что-то да изменилось.

Порекомендую CL как более практичный вариант.
здравствуйте, в каком состоянии на сегодня Lisp направления? А то некоторые из ссылок выглядят полумертвыми без какой либо свежей информации. Что то еще развивается?
Очень заинтересован языком и его реализациями
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории