c语言程序设计基础视频 和乔布斯在大学辍学不同里,他已经去世了!

不知不觉中,丹尼斯·里奇离开了我们 6 年。2011 年 10 月 12 日,与里奇共事 20 多年的同事罗伯·派克从加利福尼亚前往新泽西探望他,却发现他已经去世。由于独居,当时无法得知确切的死亡时间,后来确定死亡日期为10月9日。据其兄介绍,丹尼斯·里奇当年身体不好,患有前列腺癌和心脏病。

乔布斯和丹尼斯·里奇都在同一个月去世。此后每年的这个时候,很多媒体都会纪念乔布斯,但很少有人提到丹尼斯·里奇。

【重温一篇旧文纪念】

没有丹尼斯·里奇,就不会有我们今天所知的现代计算。他是 C 语言之父和 UNIX 操作系统的共同发明者。六年前,我们失去了两个对行业产生巨大影响的人。

(其实 Lisp 之父 John McCarthy 也在 2011 年 10 月去世。10 月 24 日)

不可否认,史蒂夫乔布斯为我们带来了世界前所未见的创新和标志性产品,以及一大批崇拜他的狂热消费者和最终用户。这样的事情可能再也见不到了。

虽然我对乔布斯和他的公司的看法有据可查,但当他去世时,我和业内许多人一样,表达了对他影响力的尊重和认可。

但是苹果和乔布斯以及许多其他公司创造的“神奇”产品,以及我们现在在现代计算中所知道和写的一切,都归功于丹尼斯·里奇,他于 2011 年 10 月 12 日去世,享年 70 岁。

丹尼斯·里奇是谁?

普通年轻人可能不得不摇头。丹尼斯·里奇是谁?

丹尼斯·里奇不像硅谷的某个老练的十几岁的亿万富翁,穿着简单的黑色高领毛衣在满是粉丝的房间里展示酷炫的新产品并恶意攻击对手。

不,丹尼斯·里奇(Dennis Ritchie)是一位大胡子的计算机科学家,穿着开衫坐在凌乱的办公室里。

与大学辍学的乔布斯不同,他毕业于哈佛大学,获得博士学位。在物理学和应用数学。他在新泽西州的 AT&T 贝尔实验室工作,而不是闪闪发光的硅谷。

是的,“什么出口?” 新泽西州。(编者注:“What exit?”是新泽西当地的俚语。花园州立公园大道是一条南北向的高速公路,贯穿整个新泽西州,因此是一个有用的地标。新泽西当地人问他们从哪里来。你可以从高速公路的任何一个出口到达那里。)

乔布斯经常被拿来与爱迪生相提并论,因为他古怪的个性和伟大的创造力。我不同意这种比较,因为我们实际上将乔布斯误认为是真正的技术专家和发明家。

我们必须意识到的一件重要的事情是,尽管乔布斯擅长做事,并且为技术和计算机行业做出了很多贡献,但他实际上并不是一名技术专家。

他对时尚和工业设计有真知灼见,他了解用户想要什么,他是营销大师和推销员。这一切都让他成为了这个行业的巨人。

但是说到发明家?他不是。

但丹尼斯·里奇发明并共同发明了两项关键软件技术,这些技术构成了我们今天直接或间接使用的每一种计算机软件产品的 DNA。这听起来令人难以置信,但这是真的。

首先,让我们从 C 编程语言开始

C 语言由 Ritchie 在 1969-1973 年开发,被认为是第一种真正可移植的现代编程语言。自近 45 年前成立以来,它已被移植到几乎所有出现过的系统架构和操作系统中。

因为它是一种命令式、编译式和过程式编程语言,它允许语法变量作用域和递归,允许对内存的低级访问,以及复杂的 I/O 和字符串操作功能,所以该语言变得非常通用。

它被 Ritchie 和 Brian Kernighan 进行了一定程度的优化,最终在 1989 年被美国国家标准协会的 X3J11 委员会进一步细化为 ANSI C 编程语言。

1978 年,Kernihan 和 Ritchie 合着了《The C Programming Language》一书。这本书被许多人简称为“K&R C”,是计算机科学的杰作,是解释现代编程概念的重要参考书,甚至在今天也是计算机科学课程中学习编程的经典教科书。

直到今天,ANSI C 作为一种编程语言被大量使用,后来它开发了许多姊妹语言,这些语言反过来也有很多追随者。

最受欢迎的 C++ 由 Bjarne Stroustrup 于 1985 年发明,它增加了对面向对象编程和类的支持,并被用于各种操作系统,包括 Linux Microsoft Windows 软件开发超过 20 年。

Objective-C 由 Stepstone(Stepstone 的前身 Lumesse)的 Brad Cox 和 Todd Love 在 1980 年代发明,增加了 Smalltalk 消息传递,进一步扩展了该语言的面向对象和代码重用特性。

Objective-C 在很大程度上被认为是 C 语言的一种鲜为人知的衍生物,直到 1980 年代末和 1990 年代初被广泛用于 NeXT Computer Systems 的 NeXTStep 和 OpenStep 操作系统。史蒂夫乔布斯于 1985 年被苹果公司踢出。

“接下来”发生的事情是一段计算传奇。NeXT 于 1996 年被苹果公司收购,乔布斯于 1997 年回到苹果公司担任公司 CEO。

2001 年,Apple 发布了 Mac OS X,它大量使用了 Objective-C 以及 NeXTStep 和 OpenStep 引入的面向对象技术。

图片[1]-c语言程序设计基础视频 
和乔布斯在大学辍学不同里,他已经去世了!-老王博客

虽然 C++ 在 Mac 上也大量使用,但 Objective-C 被用于在 XCode IDE 下编写本机面向对象的“Cocoa”API,这是 iOS 上手势识别和动画功能的核心,为 iPhone 和 iPad 增色不少。不是很多。

Objective-C 还提供了用于构建原生 OS X 和 iOS 应用程序的 Foundation Kit 和 Application Kit。

Microsoft 还拥有自己的 C 语言衍生产品 C#(发音为“C Sharp”),它于 2001 年发明并用作 .NET 框架的编程基础。

C# 也是编写基于 Windows 运行时 (WinRT) 的现代应用程序的基础,Windows 运行时 (WinRT) 演变为 Windows 10 上的通用 Windows 平台 (UWP)。作为开发 Mono(.NET 框架的可移植版本)的编程环境,它也用于 Linux 和其他 Unix 派生系统。

但 C 的影响不仅限于它的派生词。像 Java 这样的重要企业级编程语言也很大程度上基于 C 语言语法(它本身演变为 Dalvik 和 Android 运行时,它们是 Android 最基本的编程环境)。

构成动态现代网络基础的其他语言,如 Ruby、Perl 和 PHP,也使用了 Dennis Ritchie 发明的 C 语言语法。

所以如果没有丹尼斯·里奇的工作,我们根本就没有现代软件。

除了C语言,他还有Unix

我实际上可以通过谈论 C 对现代计算的重要性以及它如何影响每个人来结束这篇文章。但我只完成了这个人的职业生涯的一半。

Ritchie 还是 UNIX 操作系统的共同发明者。当然 UNIX 的原型是用汇编语言编写的,到 70 年代初它完全用 C 语言重写。

早在 1969 年,“Unics”的第一个版本就在 DEC PDP-7 上启动,从那时起,UNIX 发展了许多类似的操作系统,运行在各种各样的系统架构上。

每个主要的计算机供应商都实现了自己的 UNIX。甚至微软曾经也有一个名为 XENIX 的产品,后来被卖给了 SCO(不再存在)。

你可以看这张图,更好地了解这个“家庭”。

UNIX 基本上有三个主要分支:

第一个分支是“System V”UNIX,现在我们知道 IBM 的 AIX、Oracle 的 Solaris 和惠普的 HP-UX。这些“大人物”操作系统广泛用于世界上最大的财富 1000 强公司,驱动着关键的、面向事务的业务应用程序和数据库。

如果没有 System V UNIX,财富 1000 强公司将一事无成。生意几乎停滞不前。它们可能只占任何给定企业计算能力的 10% 到 20%,但这 20% 非常重要。

第二个分支是 BSD(Berkeley System Distribution),包括 FreeBSD、NetBSD 和 OpenBSD,它们是 Max OS X 和 iOS 的基础。它们还用于支持运行 Internet 的关键基础设施主干。

第三个分支甚至不算作一个分支——GNU/Linux。Linux 内核(由 Linus Torvalds 开发),加上 GNU 用户空间程序、工具和实用程序,提供了一个完全重新实现的“类 UNIX”或“兼容 UNIX”的操作系统。

当然,Linux 也是所有 UNIX 操作系统中最具破坏性的。从非常小的嵌入式微处理器到智能手机,再到平板电脑和台式电脑,甚至是功能强大的超级计算机,它无处不在。

IBM 的 Watson 就是这样一台 Linux 超级计算机,在《冒险!》中甚至完全击败了 Ken Jennings。

但我们仍然必须意识到 Linux 和 GNU 不包含任何 UNIX 代码——因此自由软件的递归短语“GNU’s not UNIX”。(译者注:GNU是GNU’s Not UNIX的缩写,GNU’s not UNIX => (GNU’s Not UNIX)’s Not UNIX => ((GNU’s Not UNIX)’s Not UNIX)’s Not UNIX => …,有兴趣的话还可以找其他的,比如PHP、XNA等)

但是 GNU/Linux 在设计上与 UNIX 非常相似,可以说,如果没有 Ritchie 和他的贝尔实验室同事(Brian Kernighan、Ken Thompson、Douglas Mcllroy 和 Joe Ossanna)率先开发 UNIXc语言程序设计基础视频,就不会开发 UNIX . 将会有任何 Linux 或任何开源软件运动。

从这个意义上说,自由软件基金会或理查德斯托曼会很高兴看到乔布斯离开。

我们欠丹尼斯·里奇很多

虽然存在宗教和意识形态差异。但是我们欠丹尼斯·里奇的东西比我们想象的要多得多。如果没有他的贡献,我们今天将无法使用个人电脑、成熟的软件应用程序甚至互联网。

没有 Android 智能手机,没有昂贵的 DVR 和流媒体设备,没有乔布斯和苹果创造了惊人的 Mac 和 iPad。

没有 Microsoft Windows 10 和 Surface Book。

没有云计算,没有 AWS(亚马逊网络服务),没有 Azure(微软云)。

没有“XX 应用”,也没有互联网这种东西。

向丹尼斯·里奇(Dennis Ritchie)致敬——他为我们带来了使我们成为今天的专家的技术。

1972 年c语言程序设计基础视频,丹尼斯·里奇(左)和肯·汤姆森在 PDP-12 前(照片来源:丹尼斯·里奇的主页)

来自:CPP开发者微信公众号

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论