Я рассматриваю для изучения языка функционального программирования. Я решил создать веб-приложение среднего размера.
Я сузил выбор к Haskell и языку Common LISP.
Веб-приложение должно взаимодействовать через интерфейс к некоторой реляционной базе данных (MySQL, Firebird или Postgres) и должно работать на Linux. Очевидно, это должно взаимодействовать через интерфейс хорошо с программным обеспечением веб-сервера. У меня нет опыта с функциональными языками, моя экспертиза является C, C++, PHP и JavaScript.
Какой предпочтен для этого использования и почему?
Я не уверен, должен ли этот вопрос быть отмечен субъективный? Это действительно не, "какой язык лучше", а скорее, "который больше подходит для этой конкретной задачи"
Каждый достойный язык предлагает множество библиотек для веб-приложений. Haskell - не исключение, и для этого языка существует сотни веб-библиотек.
Доступность библиотек должна быть вашим главным соображением (кроме, скажем, потребностей в высоком уровне параллелизма).
Вы можете найти библиотеки Haskell для этого здесь:
Все можно установить с помощью:
$ cabal install $ foo
"Common Lisp" на самом деле не является функциональным языком. Он имеет элементы функционального языка, но в равной степени включает поддержку императивного и объектно-ориентированного программирования. Программы обычно пишутся на смеси этих языков.
В целом Common Lisp и Haskell - очень разные языки.
Если вы хотите изучить продвинутое функциональное программирование, то вам больше подойдет Haskell.
Написание веб-приложений на Common Lisp с использованием базы данных и под управлением Linux возможно, и это было сделано.
Lisp имеет хорошую историю в сети. Yahoo Stores изначально был написан на Lisp.
Если ваше главное соображение состоит в том, чтобы получить сладкое место между функциональными методами и функциональностью веб, мне будет трудно обыграть F #, учитывая, что в нем есть все веб-материалы .NET, запеченные в. Это огромное количество предварительно выпеченного, производственного закаленного кода в вашем распоряжении. Вы могли бы сделать MVC с ним - и если вы не хотите бежать по окнам и иметь пионерский сприт (который, я полагаю, вы рассматриваете вопрос), то попытка MVC с F # на Mono была бы действительно там! Я был бы любовь , чтобы видеть ту компанию!
Я не знаю Lisp - но по сравнению с Haskell, F # будет гораздо более продуктивным, чем получение веб-приложения, написанного с функциональным языком... Я люблю Хаскелла, но для того, что ты хочешь, ты должен выглядеть как F # как первый вариант, ИМО.