用于Web应用程序开发的Lisp或Haskell

Mil*_*kov 9 haskell web-applications common-lisp

我正在考虑学习函数式编程语言.我决定构建一个中型Web应用程序.

我缩小了对Haskell和Common Lisp的选择范围.

Web应用程序需要与某些关系数据库(MySQL,Firebird或Postgres)连接,并且必须在Linux上运行.显然,它必须与Web服务器软件很好地连接.我没有使用函数式语言的经验,我的专业是C,C++,PHP和JavaScript.

哪一种更适合这种用途,为什么?

我不确定这个问题是否应该标记为主观?它真的不是"哪种语言更好",而是"哪种语言更适合这项特殊任务"

Don*_*art 10

值得一提的每种语言都为网络应用提供了大量的库.Haskell也不例外,该语言有100多个Web库.

库的可用性应该是您的主要考虑因素(除了需要高水平的并发性).

你可以在这里找到这个东西的Haskell库:

所有可以安装:

$ cabal安装$ foo


Rai*_*wig 6

'Common Lisp'实际上不是一种功能语言.它具有函数式语言的元素,但同样包括对命令式和面向对象编程的支持.程序通常是混合使用的.

通常,Common Lisp和Haskell是非常不同的语言.

如果你想学习高级函数式编程,那么Haskell会更合适.

使用数据库在Common Lisp中编写Web应用程序并在Linux上运行是可能的,并且已经完成.


Pau*_*han 5

Lisp在Web上有很好的历史.Yahoo Stores最初是用Lisp编写的.


Eri*_*ven 5

在你的位置,我会选择Haskell有三个原因:

  • 相当容易学习
  • Hackage,它提供了许多可以完成你想要的东西的库,包括HAppS,它为服务器应用程序提供了很多功能.
  • 伟大的社区.他们的IRC频道很棒.

  • 关于"相当容易学习":Haskell确实是一种非常小而且非常规则的语言(比如Java或C++),但我不会简单地称之为.懒惰的评估和概念纯度可能不是Haskell特有的,但你仍然需要学习如何使用它们才能在Haskell中做*任何*. (5认同)
  • 不要太荒谬.Haskell对于来自主流命令式语言的人来说可能是非常陌生的,但是学习足够的东西来捡起它并做一些事情并不是什么大问题.真正开始可能需要更长的时间,但如果有人真的想*学习*,那就不难了. (2认同)
  • 在Haskell中惯用工作涉及如此多的语法糖,我真的很惊讶没有糖尿病.做任何IO都需要至少粗略地了解monad,lazyness和currying.有可能学到这一点,即使是来自"主流命令式语言"(这里的Lisper,顺便说一句,这似乎与主流一样远,你可以专业地获得这些日子)​​,但这里唯一完全荒谬的是你声称"这根本不难"重新思考很多关于编程的基本假设. (2认同)