我教过自己C、Python、Java和其他一些面向过程或面向对象的语言,从互联网上的资源(谢谢:D)到中间程度。当我试图学习Haskell时,我无法理解代码到底做了什么。
对于来自过程或面向对象编程背景的人,是否有更好的函数式语言可供学习?在我这种情况下,有什么资源可以供人使用吗?
谢谢!
发布于 2015-01-31 05:22:05
它可能因人而异(这个问题肯定会就此结束),但在我看来:在到达哈斯克尔之前,你不需要踩楼梯。
所以我要说的是,你并不是暂时被语言所驱使,而是被你的学习来源所驱使。对于唯一真正温和的介绍,我推荐李亚赫。它把事情保持在合理的困难范围内,并且不时地有一些真正有趣的观点。
但是,如果您仍然希望几乎-软化您的转换,您可以查看F#,它不是一种函数式语言,但它将给您提供良好的FP体验,而且您将非常熟悉它,因为您仍然生活在一个面向对象的世界。
您还可以查看任何其他函数语言,它将给您提供一些思维方式(Scala、ML等)。
请记住,我说的“几乎-软”,因为哈斯克尔是非常不同的(特别是因为纯洁),这给你一个非常合乎逻辑和数学的心态,这对我来说是非常不同的任何其他语言,我学会了。这太不可思议了。这不仅仅是学习不同的语法,它也是思考事物的一种方式,我总能发现自己学到了更多,其中一个真正令人惊奇的部分就是(因为它是如此的逻辑,数学,合理等等)。当我使用其他语言时,甚至在我的日常生活中,我与Haskell学到的新思维方式都不会离开我。
话虽如此,Haskell唯一可怕的事情就是它毁了我对其他语言的理解。我以前喜欢C#.
https://stackoverflow.com/questions/28247859
复制相似问题