什么是Haskell实际上有用的?
例如,如果我开始学习Haskell,我可以找到自己使用它的原因。 我听说这种语言的一些常见用途是功能性的吗?
这种语言有哪些常见用途?
快速应用开发。
如果你想知道“为什么Haskell?”,那么你需要考虑函数式编程语言的优点(摘自http://c2.com/cgi/wiki?AdvantageOfFunctionalProgramming):
功能性程序往往比其强制性语言同行更为简洁。 通常这会提高程序员的生产力
FP鼓励快速成型。 因此,我认为这是ExtremeProgrammers的最佳软件设计范例......但我知道什么?
FP在功能维度上是模块化的,其中ObjectOrientedProgramming在不同组件的维度上是模块化的。
有蛋糕和吃它的能力。 想象一下,你有一个复杂的面向对象的系统处理消息 - 每个组件可能会根据消息进行状态更改,然后将消息转发给它所链接的某些对象。 如果调用层次中的某个对象决定该消息存在缺陷,那么如果能够轻松地回滚每一项更改,这不是太酷吗? 有不同国家的历史呢?
许多家务管理任务为您完成:解构数据结构(PatternMatching),存储变量绑定(带闭包的LexicalScope),强类型(TypeInference),GarbageCollection,存储分配,是直接使用boxed(指向值)还是unboxed )表示...
安全的多线程! 不可变的数据结构不受数据竞争条件的限制,因此不必受锁保护。 如果您始终分配新对象,而不是破坏性地操作现有对象,则锁定可以隐藏在分配和GarbageCollection系统中。
除此之外,Haskell还有其自身的优势,例如:
1 / 0
作为列表的第一项,如果仅使用第二项,它仍然可以工作。 您可以查看以下链接:
我认为这篇文章中的人对于从未使用过函数式编程语言的人来说是最重要的一点:扩展你的想法。 如果你对函数式编程还不熟悉,那么Haskell会以你从未想过的方式让你思考。 因此,您在其他领域和其他语言的编程将会改进。 多少? 很难量化。
对于像Haskell这样的通用语言是否有好处,有一个很好的答案:一般编写程序。
对于它在实践中的用途,我有三种方法来确定:
表示它适用于图形,网络,系统编程,数据结构,数据库,开发,文本处理...
最后,我认为它真的很强大:
我希望这给你一个关于你的问题有多广泛的意义,如果是以任何特殊性来回答。
链接地址: http://www.djcxy.com/p/7423.html