使用函数式编程语言进行Web开发的状态

时间:2009-08-04 21:37:00

标签: functional-programming

我正在考虑放弃Ruby on Rails用于我的web开发宠物项目并使用函数式编程语言(有或没有框架)。
并不是说RoR有什么问题,但我只想学习其他东西,这似乎是学习函数式编程的好方法。
我知道一些框架(Lift for Scala和Seaside for Smalltalk),我知道还有与Web相关的Haskell库。最后,我想一切都可以从头开始写 我假设这些框架/库中缺少最多的RoR高级功能,我希望不得不处理更多的低级问题,这将使开发过程变得更慢,可能更复杂。
尽管如此,这些选择之间必须有一条更容易的道路 你能分享一下你的经验和建议吗?

谢谢。

4 个答案:

答案 0 :(得分:11)

我无法回答Paul Grahams关于他如何成功创办一个基于Lisp的网络开发公司的故事。原来是他的秘密武器;没有其他人这样做,他能够比其他任何人都更快地推出新功能,从而比竞争对手领先两步。

所以,为了你的灵感,我给你:

击败平均值
http://www.paulgraham.com/avg.html

答案 1 :(得分:3)

我和编写AntiWeb http://hoytech.com/antiweb/的人一起参加Lisp用户组。 编写Let Over Lambda http://letoverlambda.com/的同一个人。聪明的人至少可以说。

虽然我没有尝试过(我打算),但我认为它是一款优质产品。该网站在http://public.youtranscript.com/

上运行

答案 2 :(得分:1)

声称世界上最快的网络服务器是用Common Lisp编写的。查看Teepeedee。它还有一个用于生成动态内容的Lisp框架。

答案 3 :(得分:1)

在haskell中,您可以定义复杂的想法。以下是haskell Web开发的一些想法:

1)如果您希望已经编写和测试了大部分代码,请使用HAppS。

2)如果要在生成原始html后向页面添加一些功能丰富的内容,请使用Parsec

3)创建你自己的monad来封装你在开发过程中可能遇到的所有重复

4)你也可以使用hackage上的一些MANY软件包来减少你认为红宝石中“高级别”的任务。 Ruby没有currying = D

PS:无论谁提到保罗·格雷厄姆,当每个人都只使用C时,他开发了自己的网络应用程序。他们无法访问我们今天所做的php,ror,java和.net。