围绕函数式编程的所有宣传,这是开始函数式编程的最佳资源[对于C#程序员]?我不是在寻找C#3.0语言的改进。
答案 0 :(得分:12)
无耻的插件:我是Real World Functional Programming的合着者(嗯,荣耀的编辑)。它直接针对像你这样的人。它教授函数式编程的原理,主要是通过F#,还展示了如何在C#中应用相同的原理。
它假设您已经了解C#,但从头开始介绍F#。它为您提供了足够的F#知识,让您可以开始实验,但目的是教授一种功能性的思维方式,而不是将F#作为一种语言的每一个角落。 (换句话说,如果你想开始使用F#作为制作语言,我还会得到另一本书以及。)
尚未推出,但您可以通过MEAP计划获得早期访问权限。已有几个章节,很快就会有更多章节。
答案 1 :(得分:11)
我认为对于具有.NET背景的C#开发人员来说,进入函数式编程的最佳方法是学习F#。
答案 2 :(得分:4)
选择一种功能语言。 Python具有许多功能特性。 Haskell纯粹是功能性的。
解决一些问题。
如果你看一下Project Euler stats,Python和Haskell排名很高。
修改强>
Python中的函数编程:
答案 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,这对初学者来说非常好。