可能重复: 函数编程语言的选择
我是一名C++程序员,希望学习一门功能语言,这是我的爱好,也是出于好奇。我并不是想成为一个专家,而是想了解一下函数式编程。这种语言应该是简单的学习,并有良好的教程和资源的初学者。有这样的语言吗?
发布于 2011-10-18 12:36:50
我发现哈斯克尔有很多好的资源可用。它也是一种纯功能语言,意味着任何标识符都是不可变的。至于学习语言的资源,它有综合网站和强烈推荐的教程,即也可作为书籍购买。。“真实世界”( Real )也是另一本好书“可供购买”或“免费在线”。Haskell在堆栈溢出( 提出了4000多个问题,并回答了许多问题 )中也有些常见。
然而,您的要求之一是“学习简单”。很难判断。来自C++背景,我怀疑您具有强大的面向对象和/或过程背景。函数式编程需要一个完全不同的思维过程--它会扭曲你的思维,但如果你能以一种新的、非常不同的方式思考,它也会使你成为一个更好的工程师。您可能对这个关于学习函数式编程以成为更好的面向对象程序员的问题。的答案感兴趣。
发布于 2011-10-18 12:45:09
“学习的简单”总是相对的--最大的负担是从命令式编程到函数式编程,语法的重要性要小得多。事实上,完全不同的语法可能会使从完全不同的角度获取新的概念和方法编程变得更加容易。
语言本身可能不像它周围的生态系统那么重要--你想选择一个有活跃的社区,丰富的库,最重要的是好的开发工具。然而,我会选择一种专为函数式编程而设计的语言,而不是一种恰巧适合于函数式编程的多范式语言--例如,javascript有很多FP方面,但它并不会邀请或敦促您使用它们。
以下是您可能想尝试的语言列表:
其中,Haskell可能是与你所习惯的完全不同的。
发布于 2011-10-18 16:46:49
我碰到了其中的两个,我认为这是很简单的学习方法:
我个人更喜欢SML;如果您决定查看它,我的建议是SML/NJ编译器,它也附带REPL,与梅尔顿不同,它是一个优秀的优化编译器,但作为一个学习工具可能有点不舒服。
https://softwareengineering.stackexchange.com/questions/114885
复制相似问题