首页 > 代码库 > 1.3.1 函数范式

1.3.1 函数范式

1.3.1 函数范式

 

函数式编程是一种编程范式,它定义了我们在思考问题时可以使用的概念,但它不能精确地指定如何用编程语言来表达这些概念。因此,就有了许多函数语言,每一种语言强调了函数风格不同方面和特征。

我们可以用一种比较熟悉的范式,面向对象编程(object-oriented programming,OOP)来类比。在面向对象的风格中,我们思考问题是以对象为出发点。每一种面向对象的语言都有对象的概念,只是细节因语言而异。例如,C++ 中有多重继承(multiple inheritance),JavaScript 中有原型(prototypes)。此外,还可以在非面向对象的语言,如 C 中,使用面向对象的风格。这虽不舒服,但仍会享受一些好处。

多种编程范式并不冲突。C# 语言主要是面向对象的,但在 3.0 版本中也有了一些函数式功能,所以我们可以直接使用来自函数风格的技巧;相反,F# 主要是函数语言,但它完全支持 .NET 的对象模型。组合范式的好处在于,我们可以选择最适合解决问题的方法。

即使您不打算使用函数语言,学习函数范式也是值得的。通过学习函数风格,可获得更方便地思考和解决日常编程问题的概念。有趣的是,很多标准的面向对象模式以面向对象风格,描述了如何写出函数式概念的代码。

现在让我们看看函数式编程的好处。我们将首先了解一下声明式编程风格,它给提供更加丰富的词汇来描述我们的意图。