如何编写高质量的 JS 函数(3) --函数式编程[理论篇] (2)

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

如上图,就是 λ(lambda) 演算的基本形式。

阿隆佐·邱奇发明的 λ演算和图灵发明的图灵机,一起改写了当今世界,形式语言的历史。

思考: 邱奇的 λ演算 和图灵的图灵机,这两者有什么区别和联系?

四、冯·诺依曼

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

点击图片介绍: 冯·诺依曼

冯·诺依曼被称为计算机之父。

他提出了冯·诺依曼体系结构:

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

从上图,我们可以看出:冯·诺依曼体系结构由运算器、控制器、存储器、输入设备、输出设备五个部分组分组成。采用二进制逻辑,程序存储、执行作为计算机制造的三个原则。

注意一个信息:我们知道,计算机底层指令都是由 0 和 1 组成,通过对 0 和 1 的 CRUD ,来完成各种计算操作。我们再看图灵机,会发现其每个小方格可存储一个数字或者字母。

看到这,是不是发现冯·诺依曼体系结构和图灵机有一些联系。

是的,现冯·诺依曼体系结构就是按照图灵机的模型来实现的计算机结构。计算机的 0 和 1 ,就是图灵机的小方格中的数字或者字母的特例。

五、为什么要提这些人

因为如果想彻底解开函数式编程的困惑,那就必须要去了解这时代背景和关键人物的一些事迹。

六、说一说 邱奇-图灵论题

邱奇是图灵的博士生导师,他们之间有一个著名的论题,那就是 邱奇-图灵论题 。

论题大致的内容是:图灵和 lambda 这两种模型,有没有一个模型能表示的计算,另一个模型表示不了呢?

到目前为止,这个论题还没有答案。也正因为如此,让很多人对 lambda 模型充满了信心。后面的岁月中,lambda 模型一直在被很多人研究、论证、实践。

七、第一台可编程计算机的诞生

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

它叫 ENAIC

1946 年,世界上第一台电子计算机—— ENIAC 问世,它可以改变计算方式,即可以更改程序。

也就是说:它是一台可编程计算机。

八、为什么要可编程

perl 语言的设计者 Larry Wall 说过:优秀的程序员具有三大美德:懒惰、急躁、傲慢。

可编程完美诠释了懒惰的美德。在 ENAIC 诞生后,出现了各种各样的 程序设计语言。三大美德也提现的淋漓尽致。

九、计算机语言的分类

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

上图可以获得以下信息:

程序设计语言只是计算机语言的一个分类。

HTML 、XML 是数据设计语言。

在程序设计语言中,分为说明式和声明式。

在说明式中,又包含函数式、逻辑式等。其实 MySQL,就是逻辑式语言,它通过提问的方式来完成操作。

冯诺依曼体系更符合面向过程的语言。

这个分类可以好好看看,会有一些感受的。

十、简单的程序设计语言发展史

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

上图非常简单明了,直到 1995 年。

时间线大概是这样的:xxx ---> xxx ---> .... ---> JavaScript ...

时间来到了 1996 年,JavaScript 诞生了!

十一、JavaScript 诞生了! 1、JavaScript 之父——布兰登·艾奇

如何编写高质量的 JS 函数(3) --函数式编程[理论篇]

图中这位老哥叫布兰登·艾奇 。那一年,他34岁。

2、看一看阮一峰写的一段话

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydpjd.html