В интервью reddit с Peter Norvig говорит он
“По различным причинам набор веб-библиотек и протоколов был медленнее для разработки в LISP, чем на других языках”
и следовательно принятие шепелявости среди веб-сообщества понизилось, и люди следовали за языками с более богатыми наборами библиотеки.
Существует ли причина этого замедления в создании веб-платформ сообществом LISP?
Мистер. Замечание Норвига показалось мне более историческим, чем оценка текущей ситуации. Возможно, в середине-конце 90-х годов веб-библиотеки не появлялись в Common Lisp так быстро, как в других языках, таких как Java.
Но, конечно, сегодня это не так. Я могу сразу назвать не менее пяти веб-серверов Common Lisp (CL-HTTP, Hunchentoot, S-HTTP-Server, Araneida, AllegroServe), не говоря уже о mod-lisp для Apache. Должно быть около дюжины различных веб-фреймворков (KPAX, Weblocks, UncommonWeb и др.). И есть общие библиотеки lisp для каждого веб-аббревиатуры, которую вы можете назвать: SOAP, XML, XLST, FTP, XML-RPC, S3, AJAX .... до бесконечности. А есть инструменты, не имеющие аналогов в других языках, например чудо чудес ParenScript.
См. Полный список веб-библиотек в Common Lisp Directory: http://www.cl-user.net , многие из которых поддерживаются по адресу http: //www.common -lisp.net
«Сообщество Лиспа» кажется широким термином. Но для Common Lisp у вас есть Hunchentoot, который используют многие люди. Dr. Scheme поставляется со встроенными веб-средствами.
Мне больше всего нравится, Clojure имеет много крутых активно разрабатываемых библиотек для создания веб-приложений, Ring , Compojure , Enlive ], Clutch , и это лишь некоторые из интересных.
Я не знаю, что он имеет в виду. Я предполагаю, что это, вероятно, в основном просто случай более общей жалобы на «нехватку библиотек Common Lisp» (которая, как мне кажется, в основном бессмысленна, но неважно).
Интересно отметить , что :
был написан первый сервер, совместимый с HTTP 1.1 и [тот], который использовался W3C для отладки эталонной реализации HTTP 1.1
в Лиспе.
Я думаю, что основная причина, по которой библиотеки могут разрабатываться на Lisp немного медленнее, чем на многих других языках, заключается в том, что это просто слишком просто. Библиотеки, написанные на Лиспе, часто не кажутся достойными своего названия. Это всего лишь несколько строк кода, специфичных для конкретной задачи. Несколько лишних минут приведут к созданию библиотеки общего назначения, но не похоже, что кому-то это понадобится, когда это всего лишь несколько тривиальных строк кода.
Около года назад мне пришлось читать и писать CSV на Clojure. Стандартный совет состоял в том, чтобы использовать любую из нескольких хорошо известных, хорошо протестированных библиотек Java. Мне было труднее определить, какая библиотека была наиболее подходящей, и изучить ее API, чем просто написать свой собственный на Clojure. Это 50 строк, и он прекрасно справляется с моим предполагаемым вариантом использования. Однако это не совсем хорошая библиотека CSV; он не поддерживает множество случаев, поэтому я не упаковал его как библиотеку, не поместил на Clojars или тому подобное.Полагаю, я часть проблемы.
Половина недавних практических руководств по Lisp в сети сегодня включает пример макроса генерации HTML. Большинство из них производственного качества и представляют собой не более чем экран, заполненный кодом. Вряд ли стоит упаковывать и вызывать библиотеку; это тривиальный код, который любой достойный программист на Лиспе мог бы написать за несколько минут. Это , , конечно, стоит упаковать как библиотеку, и Edi Weitz выпустил кучу кода в этом направлении.