第二章 函数编程的核心概念

现实世界的函数编程:有 F# 和 C# 示例 1-02

第二章 函数编程的核心概念

本章介绍

■ 理解概念和基础

■ 使用不可变的数据进行编程

■ 推理函数代码

■ 使用函数数据类型和值

    如果你问三个函数程序员函数范式的最重要的方面是什么,你很可能得到三个不同的答案。原因是函数编程已经存在很长时间,各种不同的编程语言的范围很广泛。每种语言都强调的重点不同,而这对其他的语言来说,可能并不重要。这些概念中的大多数是某种程度上存在于所有的函数语言中。

    这一章的中央部分侧重于这些共同的概念,探索基本特征和函数程序员在工具集中具有的技术。我们会从高层次的角度来看研究这些概念,你将看到,他们如何组合在一起,形成一致的处理问题方法。

    我们开始研究函数程序如何表示、改变程序状态。在面向对象中,状态由对象承载,而在函数编程中,这个关键角色由函数和数据类型承担。接下来,我们看一看在支持语言功能,它支持声明的编程风格,我们在第 1 章介绍过。最后,我们谈一谈类型,看他们如何帮助验证程序的正确性。这方面不为所有函数语言所共享,但对他们来说很重要(包括 OCaml、F# 和 Haskell)。他们实现的类型检查是先进的,在许多方面,不同于你在 C# 中使用过的。

    我们还不会很多地走进编程。相反,你将一般理解一些主要概念,有关函数程序更好的感觉。侧边栏“接下来本章讲什么?”给了本章结构的概览。我们在第 1 章讨论了一些概念,但我们只关注于后果,在这一章中,我们会分析他们的基础。

接下来本章讲什么?

第 1 章,我们关注两个概念:不可变性和声明风格。在这里,我们将介绍的一些语言功能,使它们成为可能。我们也会

谈谈类型,是这本书中讨论的另一个重要概念。

 

 

b_1036FB5FA3414A3E33ED974D754110CD

    第 2.1 节,开始我们将用简短的题外话去探索函数编程的数学背景。阅读这一节,不是必须的,但你可能会发现它很有趣,因为它谁了许多概念的源头。之后,我们会返回到函数编程,以更具体的形式,我们将讨论有关不可变的数据结构,尤其是,我们可以使用它们编写程序(2.2.3 节)。在 2.3.2 节,我们先看看一些功能,如高阶函数,它是函数语言编写声明性代码的基础。我们将向你展示,在 F# 中,类型如何阻止许多常见的编程错误(2.4.4节)。

    这一章我们关注函数编程的概念。首先探索其理论基础,但我们会忽略所有的细节,使用一个简单的示例来解释核心概念。

你可能感兴趣的:(职场,C#,F#,休闲,函数编程)