使用Haskell进行Web开发有哪些主要好处?

时间:2012-04-09 13:22:51

标签: haskell

我正在学习Haskell for great good

我很喜欢OOP和各种类型的系统。我用Java开发webapps(Java EE,spring,Hibernate,struts 1.x),现在我经常使用Python(pylons,django,sqlalchemy,pymongo)和Javascript。我的个人生产力有了很大的提高:轻量级方法,鸭子打字,很棒的迭代器,作为一等公民的功能,简单的语法和配置,快速工具,如pipdistribute(以及更多)帮助了我很多。

但提高生产力的第一个原因是 Python语言本身

使用Haskell进行Web开发有哪些主要好处? 例如,它的类型推断如何真正改善我的网络应用程序?到目前为止,我注意到当你使用类型签名装饰你的函数时,你正在为你的程序添加很多语义。我希望所有这些努力以某种方式回来,以保存许多行代码并使其发声。我真的很喜欢类型和数据之间的明显区别,我开始明白它们是如何工作的,但我想要回馈一些东西:P

不要误会我的意思,我刚刚开始研究Haskell Maybe我错过了一些真棒,但我真的想了解它的范例以及什么时候值得使用它。

1 个答案:

答案 0 :(得分:3)

大多数网络应用程序的目标是statelesshandle concurrency well。缩放(Google SEO reasons, and user experience)也很重要。

Haskell处理这些问题的方式相当不错(尽管恕我直言更多的是学术上的,也许不那么“人性化”的直观方式)。

话虽如此,由于人们完全没有做网络应用程序开发(与node.js相比),并且传统的网络应用程序开发人员更专注于OOP思维框架,这可能相当困难。

我在尝试使用它时遇到了一些问题,您可以在下面的问题中看到:

How do I do automatic data serialization of data objects?

Handling incremental Data Modeling Changes in Functional Programming