我应该选择学习哪种函数式编程语言?

pra*_*rma 7 functional-programming

在C++中编程了好几年并阅读了几个月的HN,我想学习一种函数式编程语言来扩展/改变我对编写程序的看法.我应该选择学习哪种函数式编程语言?Python,Ruby,Haskell,其他?拥有像样的库支持是很好的,这样我就可以使用它来编写基于Web的产品并将其托管在某个地方:).请指教.

Fra*_*ter 15

这实际上取决于你最终的目标是什么.如果您对功能编程感兴趣,或者您真的想要掌握必需品,我建议Haskell是您最好的选择.这个环境可以免费下载,它有一个近乎狂热的支持者社区,它是"最纯粹"的函数式编程语言之一,所以它真的会迫使你调整你的思维方式以适应编程的功能.功能编程可能听起来有点像程序编程,但实际上它是完全不同的.

我建议您阅读Graham Hutton撰写的"在Haskell编程"的副本,这是一篇优秀的介绍性文章,下载环境并进行重击.还有一些优秀的讲座(基于这本书)可以从Hijell粉丝和函数编程研究员Meijer博士那里获得,可以在微软的Channel 9网站上免费下载.

如果您对将函数式编程应用于商业环境更感兴趣,我喜欢F#的概念,尽管如果您已经插入.Net生态系统,那么使用它的主要好处就存在了.它允许您将功能代码的各部分介绍到现有的OO程序中.

即使在那种情况下,我也建议从Haskell开始.F#似乎对程序性思维过于宽容,Haskell强迫你重新评估你的思维方式.

  • Haskell在"功能"类中具有优于许多其他语言的优势,因为它是"纯粹的".这与允许副作用的其他功能语言(以受控方式)不同.因此,从学术角度来看,这是一种非常"健全"的语言. (3认同)
  • 如果你愿意,+1 Haskell是"参考实现".真实世界Haskell是让它为我点击的书. (2认同)