суббота, 12 марта 2011 г.

Завершение изучения Common Lisp'а

На днях закончил чтение книг Practical Common Lisp и Land of Lisp. Также, написал игру Шашки на нем, с веб-интерфейсом. Итак, к каким же я пришел выводам в завершении изучения Common Lisp'а. Хотя язык очень мощный, действительно очень мощный и гибкий. Особенно его система макросов, возможность встраивать мини-языки (eDSL). Я уже начал думать, о том, чтобы использовать его для своего следующего проекта.

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

Следующим большим фактором в отказе от Common Lisp'а я вижу его синтаксис. Во-первых, мне не нравится префиксная запись, для меня она является не естесственной. Во-вторых, возможность расширять синтаксис большой плюс, но и одновременно это большой минус, в том плане, что от этого страдает читабельность кода. Попытки понять чужой код, даются с большим трудом.

В итоге, я отказался от идеи использовать его для своего коммерческого приложения. Но ни в коем случае не жалею о том, что потратил время и силы на изучение этого отличного языка.

Следующий у меня на очереди Ruby.

4 комментария:

  1. Может попробовать Clojure, первая проблема там решена, так как работает поверх jvm, куча библиотек гарантировано и много новых сейчас пишется уже непосредственно на нём. Вторую проблему да к сожалению не решить :)

    ОтветитьУдалить
  2. Да, как раз хочу прочитать книгу The Joy of Clojure.

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

    ОтветитьУдалить
  3. Согласен :)
    Я когда читал SICP, в начале в шоке прибывал, от скобочек, от префиксной записи. Но привыкаешь быстро и легко.
    А про DSL'и да, даже речи быть не может, это великолепно.

    ОтветитьУдалить
  4. Здравствуйте, мне хотелось бы очень хотелось проконсультироваться у вас, если располагаете временем то не могли бы вы оставить свой email?

    1992dec31@mail.ru

    ОтветитьУдалить