在函数式编程如此火热的背景下,对于一名C#程序员来说,入门函数式编程最好的资源是什么?我不是在寻找C# 3.0语言改进。
在函数式编程如此火热的背景下,对于一名C#程序员来说,入门函数式编程最好的资源是什么?我不是在寻找C# 3.0语言改进。
自我推销一下:我是Real World Functional Programming的合著者(其实只是一个名义上的编辑 :))。这本书主要面向像您这样的人,涉及编程和函数式编程原理,大部分使用F#进行讲解,并展示了如何在许多情况下应用相同的原则到C#中。
它假设您已经熟悉C#,但会从头开始介绍F#。它会给您足够的F#知识,让您可以尝试实验,但目的是教授函数式思维方式,而不是深入探讨F#语言的每个角落。(换句话说,如果您想要将F#作为生产语言使用,我建议您再找一本书)。
它还未出版,但您可以通过MEAP计划提前获取。已经有几章可用,更多内容即将推出。
我认为对于具有.NET背景的C#开发人员来说,进入函数式编程的最佳方式是学习F#。
编辑
Python中的函数式编程:
免费在线版本的Real World Haskell 是入门的好方法,价格便宜。
完成几章后,您将能够决定FP是否适合您,以及您是要继续使用Haskell还是转向其他语言。 您甚至可以购买纸质版本(就像我一样)。
您从本书中学到的范例(特别是开头几章),同样适用于其他函数式语言。 (我认为我的Javascript和Groovy受益于学习Haskell)。
我在大学学习了函数式编程,使用的语言是Haskell。
在它的主页上,你很可能会找到开始所需的一切 :)
顺便说一句,要看到解决方案需要大量的实践;算法本身并不是每个人都习惯用面向对象、逻辑或过程化语言编写的。
我同意Mehrdad Afshari的观点。如果你熟悉C#,那么可以用F#开始函数式编程。它的语法类似于C#中的lambda表达式。