是否有一种功能语言可以提供良好的支持和工具来构建Web服务?我一直在研究Scala(它编译为JVM并可以使用Java库)和F#(这是.NET),但这些都是年轻的并且效率低下.特别是Scala不支持尾调用消除,除了自递归函数,这限制了你可以做的组合种类(这是JVM的一个基本限制).F#是非常新的,似乎还没有得到完全支持,这使它比传统语言更具风险.
是否可以使用Haskell,ML或任何其他更传统的函数语言构建Web服务,或者最好是使用Scala还是F#?还有其他建议吗?
如果.NET是平台的一个选项,请不要因为它年轻而折扣F#.随着它越来越接近成为官方产品,它正在与Visual Studio进行越来越好的集成,并继承了.NET提供的所有优点.
微软和热情的社区也提供积极和可访问的支持.
Ocaml有Ocsigen/Eliom ......但我不能说我已经使用过它了.它也处于早期阶段.
哈斯克尔:
看看这个问题: 在Haskell中编写Web应用程序的最简单方法是什么?
基本上,WASH,HAppS和Janus是Haskell目前的三大巨头.我的投票是针对HAppS,目前有最好的教程.
还有HSP,但我最近没有看过它或想过它.
Erlang,有雅司病.它是一种有趣,强大的语言,可以非常好地扩展,并且可以安全,轻松地使用100或1000个进程.和乐趣.
(我也觉得很漂亮.)