Logo
Section 1 / 10

PHP与函数式编程简史

了解PHP的历史以及函数式编程范式。

导入

PHP与函数式编程简史

了解PHP的历史以及函数式编程范式。

根据个人偏好和整体编程知识,PHP 是一种适用于网络开发的不错脚本语言。尽管有人认为 PHP 相对平缓的学习曲线和非正式的语法表明其架构不佳,但它仍然是一个值得探索的语言。

它由当时年仅 26 岁的拉尔斯·勒多夫(Rasmus Lerdorf)发起,他最初使用 C 语言编写(因为当时这属于常规做法)。他用 C 语言编写了 CGI 脚本,创建了一个运行在 Web 服务器上的模板引擎。这种模板语言就是 PHP,由于其直观的语法,诞生后迅速走红。准开发者们也因此受到鼓舞,随着对更多功能的需求不断增长,PHP 的影响力持续扩大。

这些期望的功能扩展了模板语言的范围,使其逐渐适合实现业务逻辑。多年来,PHP 随着每个版本的迭代不断改进。由安迪·古特曼斯(Andi Gutmans)和齐夫·苏兰斯基(Zeev Suraski)共同参与开发,从 2.0 版本到 3.0 版本的跃迁,使 PHP 看起来已非常接近我们今天所熟知的样子。随后经历了从 4.0 到 5.0,再到 7.0 及以后的多次演进。

一份正式规范(语言能力的标准化蓝图)对于编程语言的发展生命周期至关重要。

注意: PHP 直到 2014 年才拥有正式的规范!

注意: PHP 的规范文档可在线查阅 php.net。

函数式编程的简要历史

函数式编程的思想根源可以追溯到阿隆佐·邱奇(Alonzo Church)和艾伦·图灵(Alan Turing)等科学家的开创性工作。邱奇提出的 λ 演算和图灵发明的通用机,均形成于 20 世纪 30 年代,构成了函数式编程的基础。邱奇通过他的演算系统提出了一种原型式的函数式语法,强调抽象与泛化原则;而图灵则设计出一种能够将可计算输入转换为输出的设备,其方式与人类进行逻辑运算的过程颇为相似。

随后出现了机器辅助编程。Lisp 是第一种现代函数式语言,大约于 1958 年问世,开启了利用函数和代数结构定义计算机程序的新时代。Lisp 至今仍在使用,被视为大多数现代函数式语言(如 Clojure、Erlang 和 Scheme)的先驱。然而,此后人们对 Lisp 以及函数式编程的整体热情有所下降。

函数式编程的衰落

20 世纪 70 年代,随着过程式和面向对象策略的广泛传播,函数式编程逐渐被 C 语言和 Smalltalk 取代,失去了流行度。在接下来的几十年中,C++ 和 Java 等语言在编程领域取得显著进展,进一步削弱了函数式编程的影响力。该范式最终被边缘化,主要局限于学术界。Haskell 是纯函数式语言的典型代表,诞生于学术环境(以著名数学家哈斯凯尔·柯里命名)。

函数式编程的复兴

近年来,函数式编程重新获得关注。从采用该范式的技术手段,到构建基于复杂范式理念的完整概念框架,都变得更加普遍。几乎每个人最喜爱或第二喜爱的编程语言生态系统中,都或多或少存在与函数式编程相关的库。这反映出人们热衷于将程序表达为函数组合与不可变状态的结合。

阿隆佐·邱奇的 λ 记号和图灵的分析机所留下的遗产至今仍具有深远影响。在 PHP 中,对一等函数的支持以及富有表现力的语法,很好地契合了以函数为核心进行计算的理念。

入门

定义函数式编程