如何开始使用函数式编程?

时间:2009-03-12 11:29:35

标签: functional-programming

围绕函数式编程的所有宣传,这是开始函数式编程的最佳资源[对于C#程序员]?我不是在寻找C#3.0语言的改进。

8 个答案:

答案 0 :(得分:12)

无耻的插件:我是Real World Functional Programming的合着者(嗯,荣耀的编辑)。它直接针对像你这样的人。它教授函数式编程的原理,主要是通过F#,还展示了如何在C#中应用相同的原理。

它假设您已经了解C#,但从头开始介绍F#。它为您提供了足够的F#知识,让您可以开始实验,但目的是教授一种功能性的思维方式,而不是将F#作为一种语言的每一个角落。 (换句话说,如果你想开始使用F#作为制作语言,我还会得到另一本书以及。)

尚未推出,但您可以通过MEAP计划获得早期访问权限。已有几个章节,很快就会有更多章节。

答案 1 :(得分:11)

我认为对于具有.NET背景的C#开发人员来说,进入函数式编程的最佳方法是学习F#。

答案 2 :(得分:4)

答案 3 :(得分:3)

Real World Haskell的免费在线版本是一种很好,便宜的入门方式。

一旦你完成了几章,你就可以决定FP是否适合你,以及你是想继续使用Haskell还是继续使用其他语言。您甚至可以继续购买死树版本(就像我一样)。

您从本书中学到的范例,特别是开篇章节,同样适用于其他功能语言。 (我喜欢认为我的Javascript和Groovy从我学习Haskell中受益)。

答案 4 :(得分:2)

花一些时间看看Lisp或Scheme,因为他们是函数式编程的母亲和父亲。 PLT Scheme是与Scheme一起玩的好环境。获取The Little Schemer的副本,因为它是对Scheme的一个很好的介绍,可以帮助您快速上手。

一旦掌握了功能,请尝试以功能方式解决一些Project Euler问题。

答案 5 :(得分:0)

我使用语言Haskell在大学学习函数式编程。

在其主页上,您最有可能找到入门所需的内容:)

顺便说一句,看到解决方案需要大量的练习;算法本身并不是每个人习惯于面向对象,逻辑或过程语言编码的。

答案 6 :(得分:0)

我同意Mehrdad Afshari。如果您熟悉使用F#的C#start函数编程。语法类似于C#中的lambda表达式。

答案 7 :(得分:0)

到目前为止,我一直很喜欢learn you a haskell,这对初学者来说非常好。