5

C 语言之父丹尼斯·里奇逝世十周年

 2 years ago
source link: https://blog.csdn.net/m0_55452176/article/details/120761621
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

C 语言之父丹尼斯·里奇逝世十周年

original.png
慢慢亦漫漫15 2021-10-14 12:35:13 194
文章标签: android

整理 | 王启隆  王晓曼

出品 | 程序人生 (ID:coder _life)

Dennis Ritchie (丹尼斯·里奇)于 1941 年 9 月 9 日出生在美国纽约的布朗克斯维尔,2011 年 10 月 12 日逝世(享年 70 岁)。他于 1969 年和 Ken Thompson 一起创建了 B 语言;1972 年与 Brian Kernighan 一起创建了 C 编程语言;随后帮助开发 Multics 操作系统和 UNIX 操作系统。这些成就让丹尼斯获得了 1983 年的图灵奖,可以说,所有网络产品都是站在他的肩膀上诞生的。

图片

图源:维基百科

在贝尔实验室工作期间,Dennis Ritchie 参与了 Multics 操作系统的开发,这是一个前所未有的多用户操作系统,可以同时运行多个程序。这个项目是贝尔实验室、麻省理工学院和通用电气的合资项目,但贝尔实验室在 1969 年退出了,因为设计流程太复杂了。

随后,他与 Ken Thompson 合作开发了 Unix 操作系统,并从 Multics 复杂设计的失败中吸取了教训。Dennis Ritchie 提出了 Unix 设计原则“保持简单,愚蠢”,这后来被称为 KISS 原则:Unix 由许多小程序组成,每个小程序只能执行一个功能。Unix 迅速在程序员中传播开来,到 20 世纪 80 年代,它已经成为主流操作系统,成为整个软件行业的基础。

我们这个时代最重要的操作系统——Windows、MacOS、iOS 和 Linux——都与 Unix 相关。

Unix 一开始是使用不通用的机器语言编写的,如果更换一台计算机,就必须重新编写。为了提高通用性和开发效率,丹尼斯·里奇发明了一种新的计算机语言,就是现在的 C 语言。C 语言本身是为 Unix 而构建的,这两者最初是不可分割的,直到 C 语言被更广泛地使用并成为今天主流编程语言的基础。

C 语言和 Unix 是黑客文化的基础,黑客文化是互联网的基础。换句话说,没有 Dennis Ritchie 就没有 C/Unix,没有 C/Unix 就没有今天的互联网。Unix 的付费版本并没有在 2021 的今天流行起来,但是 Unix 的免费版本(比如 Linux),则为今天除 Windows 之外的几乎所有操作系统(iOS、Android、WebOS、Bada 等)奠定了基础。

图片

图源:维基百科

C 语言是丹尼斯·里奇在 1969 - 1973 年间开发的,它被认为是第一个真正意义上可移植的现代编程语言。自它诞生差不多近 50 年以来,它已经被移植到几乎每一个出现过的系统架构和操作系统上。因为它是一种命令的、编译的和程序化的编程语言,它允许语法变量作用域和递归,允许内存的底层访问,还有复杂的 I/O 和字符串操作功能,这种语言变得相当通用。

里奇和布莱恩·克尼汉(Brian Kernighan)对它进行了一定程度的优化,最终于 1989 年被美国国家标准协会的 X3J11 委员会进一步细化为 ANSI C 程序设计语言。1978 年,克尼汉和里奇合著出版了《C 程序设计语言》这本书。该书被很多人简称为“K&R C”,是计算机科学的杰作,它也是解释现代程序设计概念的一个关键参考,甚至到今天,它还是计算机科学课程里学习程序设计的经典教材。

直到今天,ANSI C 作为一种编程语言还被大量地使用,后来它还发展出很多的衍生语言,这些语言又都有很多的追随者——比如 Objective-C。Objective-C 很大程度上被认为是一个鲜为人知的 C 语言衍生品,直到它在八十年代末和九十年代初被广泛用于 NeXT 计算机系统公司的 NeXTStep 和 OpenStep 操作系统上,也就是乔布斯所开发的 NeXT。2001 年,苹果发布了 Mac OS X,其中沿用了 Objective-C 的框架,以及 NeXTStep 和 OpenStep 所引入的面向对象技术。

图片

图源:CSDN 下载自东方 IC

C 语言只能诠释丹尼斯·里奇生涯的一半。里奇还是 UNIX 操作系统的共同发明人,UNIX 的原型是用汇编语言编写,到七十年代早期就完全用C重写了。早在 1969 年,在一台 DEC PDP-7上引导了第一个版本的“Unics”,从那开始UNIX已经演变出很多类似的操作系统,并运行在各种各样的系统架构上。每一个主要的计算机供应商都曾经实现过自己的 UNIX。甚至连微软也曾经拥有一个叫做 XENIX 的产品,后来卖给了 SCO。

这些成就让丹尼斯获得了 1983 年的图灵奖,可以说,几乎所有网络产品都是站在他的肩膀上诞生的。Android 智能手机、流媒体设备,Mac 和 iPad、Windows 11和 Surface Book、云计算……

Dennis Ritchie 退休后,一直过着隐居的生活,几乎被外界遗忘。2011 年 10 月 12 日,与他共事 20 年的同事罗布·派克(Rob Pike)从加州来到新泽西看望他,却发现他已经去世了。由于 Dennis Ritchie 独自生活,确切的死亡时间不得而知;据他哥哥说,丹尼斯里奇多年来一直健康状况不佳,患有前列腺癌和心脏病。

罗布·派克当时只在社交平台上发了个极其简短的讣告:“据我所知,Unix 和 C 语言发明人丹尼斯·里奇已经去世。”,Dennis Ritchie 的“保持简单”的原则,不仅体现在他的 C 语言和 Unix 系统,还贯彻了他的一生。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK