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

728 篇文章 1 订阅
349 篇文章 0 订阅

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

 

本章介绍

■了解概念和基础

■不可变数据编程

■函数式代码的推论

■函数式值和数据类型

 

如果你问三个函数程序员,什么是函数范式最基本的方面,很可能有三个不同的答案。原因是函数编程已经存在很长时间了,各种不同的编程语言应用范围很广泛;每种语言强调的重点不同,但对于其他的语言来说,可能并不重要;但其中的大部分概念在所有的函数式语言中都有所表现。

本章的中央部分侧重于这些共同的概念,探讨函数式程序员工具集的基本特征和技术。我们将宏观地研究这些概念,你将看到如何组合起来,形成连续的方式解决问题。

我们首选讨论函数式程序如何表示、改变程序状态。在面向对象编程中,状态由对象承载,而在函数编程中,函数和数据类型担趣了这个关键角色;接下来,我们会看到支持声明式编程风格的语言功能,我们在第一章曾介绍过;最后,我们将讨论类型,看类型是如何帮助验证程序正确性的。这个方面不是所有函数语言都支持的,但却是许多语言的核心(包括 OCaml、F# 和 Haskell)。这种类型检查非常先进,在许多方面不同于 C# 中使用过的。

我们还不会过多地进行编程,只是大致了解一些主要概念,以及有关函数程序的更好感觉。补充材料“接下来本章讲什么?”给出了本章结构的概览。我们在第一章讨论过一些概念,但只关注结论,在本章,我们会分析其原理。

 

接下来本章讲什么?

 

第一章,我们关注两个概念:不可变性和声明式风格,这里,我们将介绍一些使其成为可能的语言功能;还将讨论类型,这是这本书中的另一个基本概念。

在 2.1 节,我们将首先讲一点函数编程的题外话,探讨一下其数学背景。阅读这一节不是必须的,但可能很有意义,因为它说明了许多概念的源头;之后,将回到更具体的函数编程,讨论不可变的数据结构,以及如何用来写程序(2.2.3 节);在 2.3.2 节,我们先看一下用函数语言写声明式代码的基本功能,比如高阶函数(higher-order function);我们还会看到,在 F# 中,类型如何防止许多常见的编程错误(2.4.4节)。

 

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值