我正在学习Haskell for great good。
我很喜欢OOP和各种类型的系统。我用Java开发webapps(Java EE,spring,Hibernate,struts 1.x),现在我经常使用Python(pylons,django,sqlalchemy,pymongo)和Javascript。我的个人生产力有了很大的提高:轻量级方法,鸭子打字,很棒的迭代器,作为一等公民的功能,简单的语法和配置,快速工具,如pip
和distribute
(以及更多)帮助了我很多。
但提高生产力的第一个原因是 Python语言本身。
使用Haskell进行Web开发有哪些主要好处? 例如,它的类型推断如何真正改善我的网络应用程序?到目前为止,我注意到当你使用类型签名装饰你的函数时,你正在为你的程序添加很多语义。我希望所有这些努力以某种方式回来,以保存许多行代码并使其发声。我真的很喜欢类型和数据之间的明显区别,我开始明白它们是如何工作的,但我想要回馈一些东西:P
不要误会我的意思,我刚刚开始研究Haskell Maybe
我错过了一些真棒,但我真的想了解它的范例以及什么时候值得使用它。
答案 0 :(得分:3)
大多数网络应用程序的目标是stateless和handle 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