首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数式编程:最佳平台/环境

函数式编程:最佳平台/环境
EN

Stack Overflow用户
提问于 2008-11-01 23:35:46
回答 9查看 1.5K关注 0票数 12

我最近一直在研究和尝试函数式编程,只是为了拓宽我对编程的思考,因为我发现从“函数式”的角度思考很难。

我已经下载了Glasgow Haskell并进行了试验。

我想知道的是,Windows尝试FP的最佳平台是什么?我更喜欢基于JVM的方法,但另一篇关于SO的文章指出,由于缺乏对尾递归的支持,真正的FP语言不能在JVM上实现。你怎么说?

编辑:正如我已经说过的,我已经用Haskell做了相当多的实验;根据其中一个答案的建议,我已经审查了Scala网站。看一看Scala示例,代码似乎更“熟悉”(我的背景是C和Java),但它显然更像是面向对象/过程化的,功能更少。Scala的一个巨大优势是,它给了我另一个与Java并列使用的语言工具,并可能成为我目前专业箭筒中的另一个箭头,而不仅仅是一个学习练习。当我进一步了解Scala时,功能方面是否会变得更加重要,或者我是否会倾向于只编写具有一些功能影响的OO代码?换句话说,Haskell会比Scala更难更快地挑战我的先入之见吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2008-11-02 09:48:06

如果你真的想学习如何以函数式的方式思考,Haskell绝对是正确的选择。几乎所有其他语言都会让你很容易陷入命令式风格。Haskell会强迫你进入功能性思维模式。在学习的时候,我发现这是必不可少的。(当然,你可能比我更自律,但为什么要冒险呢?)

当您对从Haskell学到的东西感到满意时(这将是很多!),您就可以开始评估更自由的函数式语言了,比如Clojure或Scala。或者,您可以继续使用Haskell,它的库情况实际上也不是那么糟糕。在这一点上,这是一个环境和个人偏好的问题。但为了做出这样的选择,我认为,首先学会如何以“纯”函数式方式思考是至关重要的。

票数 11
EN

Stack Overflow用户

发布于 2008-11-01 23:51:32

查看F#。CLR有一个.tail指令,所以你可以使用不会导致StackOverflow的尾部调用来编写F#代码(例外,不是网站)。Here是一段来自PDC的关于F#的介绍视频。

票数 12
EN

Stack Overflow用户

发布于 2008-11-01 23:48:43

我推荐PLT SchemeSICP。这门语言非常简单,你可以很快地理解重要的概念。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/256254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档