Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Functional programming 使用函数式编程语言进行web开发的现状_Functional Programming - Fatal编程技术网

Functional programming 使用函数式编程语言进行web开发的现状

Functional programming 使用函数式编程语言进行web开发的现状,functional-programming,Functional Programming,我正在考虑放弃RubyonRails作为我的web开发宠物项目,并使用函数式编程语言(有或没有框架)。 并不是说RoR有什么问题,而是我想学习其他东西,这似乎是学习函数式编程的好方法。 我知道一些框架(用于Scala的Lift和用于Smalltalk的Seaside),我知道也有与web相关的Haskell库可用。最后,我想象一切都可以从头开始写。 我假设这些框架/库中会缺少大部分RoR高级功能,我希望必须处理更多的低级问题,这将使开发过程更慢,可能更复杂。 不过,在这些选项中必须有一条更容易的

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


谢谢。

我不禁想起Paul Grahams的故事,他是如何成功地创建了一家基于Lisp的web开发公司的。原来是他的秘密武器;没有其他人是这样做的,他能够比其他人更快地推出新功能,从而领先竞争对手两步

因此,为了给你灵感,我给你:

超过平均值

号称世界上最快的web服务器是用Common Lisp编写的。退房它还有一个用于生成动态内容的Lisp框架。

我参加了一个Lisp用户小组,其中有一个写AntiWeb的家伙。 就是那个写《让兰姆达过去》的人。至少可以说是个聪明人


虽然我还没有试过(我打算),但我认为这是一个高质量的产品。这个网站运行在它上面

在哈斯克尔,你可以定义复杂的想法。以下是haskell web开发的一些想法:

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

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

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

4) 您还可以使用hackage上提供的许多软件包中的一些来减少在ruby中被视为“高级”的任务。Ruby没有currying=D


PS:无论谁提到paul graham,他都是在每个人都只使用C的时候开发他的web应用程序的。他们没有像我们今天这样访问php、ror、java和.net的权限。

。。。当然,这就产生了arc,它是一种包含web框架的Lisp方言。这是一种很好的方言,但强制使用的html样式很快就让我感到厌烦。如果你走Lisp的道路,那么值得考虑使用Clojure和noir框架——1 Parsec代表“生成原始html后将功能丰富的内容添加到页面”:不,这不是Parsec的目的。“创建您自己的monad来封装您在开发过程中可能遇到的所有重复”太模糊了。事实上,整个答案太模糊了。