加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 前言
    • 一、Dennis Ritchie
    • 二、 Linus  Torvalds(1969 年 12 月 28 日 - )
    • 三、比较
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

丹尼斯里奇和林纳斯谁更伟大?

2020/12/30
394
阅读需 44 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

前言

计算机软件领域,做出过重大贡献的神人很多,在这闪耀的明星中,最为闪耀的莫过于「Linus  Torvalds 和 Dennis Ritchie」。

那么这两位谁的贡献更大呢?

这是一个很难回答的问题,就如同关公战秦琼,仁者见仁,智者见智。

还是先对两位大神做个介绍吧。

一、Dennis Ritchie

C 语言之父,UNIX 之父。

1) Dennis Ritchie(1941 年 - 2011 年 10 月 12 日)

Dennis Ritchie

Dennis Ritchie 曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。1978 年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著《C 程序设计语言(The C Programming Language)》。此书已翻译成多种语言,被誉为 c 语言的圣经。

2011 年 10 月 12 日,共事 20 年的同事 Rob Pike 从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,无法知道准确的死亡时间。享年 70 岁。

丹尼斯·里奇生平

丹尼斯·里奇因为一直都是单身(大神的思想境界真的)

2) C 语言

丹尼斯·里奇创建了 C 编程语言和 Unix 操作系统。无论是这其中哪一个项目,都可以让他在计算机界傲视群雄。而丹尼里奇开发了两大项目,可以说是计算机史上独一无二的。

事实上,C 语言在各种软件程序,嵌入式系统开发,操作系统中,使用是最广泛的。同时,C 语言也影响了大多数现代主流的编程语言。

1960s 年代后期,贝尔实验室对计算机系统的研究进入繁盛时期。MIT、General Electric、Bell 实验室合作的 Mutlics 项目以失败而告终(1969 年左右)。

就是在这个时期,Ken Tompson 开始写 Mutlics 的替代品,他希望按照自己的设计构造一个令人舒服的计算系统(也就是 Unix)。

后来在写出第一个版本的 Unix 时,觉得 Unix 上需要一个新的系统编程语言,他创造了一个 B 语言。B 语言是没有类型的 C,准确说 B 语言是 Tompson 把 BCPL 挤进 8K 内存,被其个人大脑过滤后的产生的语言。

由于 B 语言存在的一些问题,导致其只是被用来写一些命令工具使用。恰好在这个时期,Ritchie 在 B 语言的基础上,进行了重新的设计改良,从而诞生了 C 语言。

1973 年,C 语言基本上已经完备,从语言和编译器层面已经足够让 Tompson 和 Ritchie 使用 C 语言重写 Unix 内核。后来,Unix 在一些研究机构、大学、政府机关开始慢慢流行起来,进而带动了 C 语言的发展。

1978 年,K&R 编写的《The C Programming Language》出版,进一步推动了 C 语言的普及。

3)  unix

Unix 的诞生与 C 语言被广泛的传播、使用,有着密切的联系。

上图时间线只显示前几个与 C 语言在相同时间段内诞生的 Unix 版本。

后来学术和政府组织中都在使用 Unix,也正是由于 Unix 的风靡与兴盛,带动了 C 语言被广泛的传播、使用。

在 1980 年代,C 语言的使用广泛传播,并且几乎所有机器体系结构和操作系统都可以使用编译器。尤其是,它已成为个人计算机的编程工具,无论是用于这些机器的商业软件制造商,还是对编程感兴趣的最终用户,都非常受欢迎。

Unix 分支,实在太震撼了。

来看看其中最著名的几个分支:BSD、minix、Linux、Mac OS X...

足可见 unix 对现在操作系统的影响,其地位就像《易经》,为群经之首。

易经

4)  第一个 C 语言编译器是怎样编写的?

不知道你有没有想过,大家都用 C 语言或基于 C 语言的语言来写编译器,那么世界上第一个 C 语言编译器又是怎么编写的呢?这不是一个“鸡和蛋”的问题……

回顾一下 C 语言历史:Tomphson 在 BCPL 的基础上开发了 B 语言,Ritchie 又在 B 语言的基础上成功开发出了现在的 C 语言。在 C 语言被用作系统编程语言之前,Tomphson 也用过 B 语言编写过操作系统。可见在 C 语言实现以前,B 语言已经可以投入使用了。因此第一个 C 语言编译器的原型完全可能是用 B 语言或者混合 B 语言与 PDP 汇编语言编写的。

我们现在都知道,B 语言的执行效率比较低,但是如果全部用汇编语言来编写,不仅开发周期长、维护难度大,更可怕的是失去了高级程序设计语言必需的移植性。

所以早期的 C 语言编译器就采取了一个取巧的办法:先用汇编语言编写一个 C 语言的一个子集的编译器,再通过这个子集去递推,进而完成完整的 C 语言编译器。

所以创建第一个 C 编译器的难度不亚于创造 C 语言的难度。

如果还不理解,举个例子,我们要建一个大厦,图纸什么的都已经设计好了,要开工建设。

那么用于建造大楼的各种设备和工具:塔吊、脚手架、钳子、螺丝刀、水平仪、卷尺等等,这些所有用到的所有工具,都是无数的公司的公司经过多年不断研发积累才达到今天的标准。

而编译 c 语言的编译器,就相当于建设大楼所需要的各种工具,丹尼斯不光亲自设计了 C 语言,还亲自从头到尾设计这一整套的工具。

这个工作是创造性的,可参考内容并不是很多,其难度可想而知。

二、 Linus  Torvalds(1969 年 12 月 28 日 - )

Linux 之父、Git 之父。

1)  Linus  Torvalds(1969 年 12 月 28 日 - )

Linus  Torvalds

芬兰赫尔辛基人,著名的电脑程序员,Linux 内核的发明人及该计划的合作者 ,毕业于赫尔辛基大学计算机系,1997 年至 2003 年在美国加州硅谷任职于全美达公司(Transmeta Corporation),现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发 Linux 内核。与**妻子托芙(Tove,芬兰前女子空手道冠军)**育有三个女孩。

Linus

划重点:「妻子托芙(Tove,芬兰前女子空手道冠军)」。

跟随着我爷爷的学院教学生涯,我也成了赫尔辛基大学的一名助教,被分配在这年秋季学期里开始用瑞典语教授《计算机科学入门》课程。

就这样,我遇上了塔芙。她对我一生的影响甚至比《操作系统:设计与执行》 一书对我的影响还要大。不过,我不会用这种影响的细节来让你烦恼的。

当时,塔芙是我的班上十五个学生中的一个。她已经有了一个学龄前教育学的学位(不像在美国,芬兰要求学龄前儿童的教师要有大学学历),她还想学习计算机,却不能取得像班上其他同学那样的进步。当然,最后她还是?上去了。
我们交往的过程是如此简单。

那是在 1993 年秋天,互联网还没有流行开来。 因此,有一天,我在这个班布置的家庭作业就是给我发一个电子邮件(这要放在今天简直要笑死人),我对学生说:“今天的家庭作业:发给我一个电子邮件。”
其他人的邮件不是一些供记录的短语,就是一些没什么意思的笔记。

只有塔芙,她邀请我和她出去约会。

我娶了第一个通过电子方式走近我的女人。

塔芙是一个曾六次获得过芬兰空手道冠军的幼儿园教师。 她的家庭很独特,尽管我认为还不如我们家那么离奇。 她有许多朋友。

从我们在一起的第一刻起,她就像是最适合我的女人。 

经过了几个月的约会,我和我的猫兰迪就搬到她的公寓房间去了。

在搬进去后的最初两周,我甚至都没有动过一下我的计算机。

不算上我服兵役的时间,这两周是我自从我十岁那一年坐在外祖父膝盖上摆弄计算机以来 ,
离开计算机最长的一段时间了。 

不必详细描述,但这确实是除去服兵役之外我离开计算机最长的时间的记录了。

--- 出自 linux 自传《just for  fun》。

just for fun

祖师爷和祖师奶奶的相遇居然这么浪漫,他们的第一个孩子应该就是那两个星期造出来的吧。

2) Git

Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,它是目前世界上最先进的分布式版本控制系统。Git 是用于 Linux 内核开发的版本控制工具。

与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。Git 最为出色的是它的合并跟踪(merge tracing)能力。

Git 是一种非常流行的分布式版本控制系统,它和其他版本控制系统的主要差别在于 Git 只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异,这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。

Git 另一个比较好的地方在于绝大多数操作都可以在本地执行,而每个本地都可以从服务器获取一份完整的仓库代码,而且在没网的时候仍然可以修改和使用大部分命令,在方便的时候再跟服务器进行同步,这样可以更好的实现多人联合编程。

Git

2002 年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是 Linus 选择了一个商业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 Linux 社区免费使用这个版本控制系统。

安定团结的大好局面在 2005 年就被打破了,原因是 Linux 社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。

「开发 Samba 的 Andrew 试图破解 BitKeeper 的协议(这么干的其实也不只他一个),被 BitMover 公司发现了」(监控工作做得不错!),于是 BitMover 公司怒了,要「收回 Linux 社区的免费使用权」。

Linus 本可以向 BitMover 公司道个歉,保证以后严格管教弟兄们,嗯,但是 Linus 不是一般人,「道歉是不可能的,这辈子都不可能的」。

于是 Linus 花了「两周时间」自己用 C 写了一个分布式版本控制系统,这就是 Git!一个月之内,Linux 系统的源码已经由 Git 管理了!

「牛」是怎么定义的呢?大家可以体会一下。

Git

Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等。

GitHub,全世界开发者的安全空间,在这里,你可以分享你的代码为大家所用,也可以和全世界的开发者一起共建完善你的代码。现在有越来越多的公司都把代码放在了 Github 服务器上。

一口君从第一次用过之后就爱不释手,被其中的设计哲学深深折服,因为 Git 管理软件版本实在太过方便了。

通过 commit 来研究和学习一个软件产品如何从最初 code base 慢慢迭代成一个成熟的产品,这是提升自己技术水平最快捷之路。

3) Linux

Linux 时间线

Linux 时间线比较庞大,详情请复制下面链接到浏览器:

https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg

1991

8 月 25 号 : 21 岁的芬兰学生 Linus Benedict Torvalds 在 comp.os.minix 新闻组上宣布了它正在编写一个免费的操作系统。

9 月 1 号 : Linux 0.01 在网上发布。

1992

1 月 5 号 : Linux v0.12 release 版本的内核重新以 GUN GPL 的协议发布。原来的许可证是禁止任何商业用途的。通过这次协议变更,发布和出售修改或未修改版的 Linux 成为了可能,只要你将这些复制版本以相同的 GPL 许可证发布,并且有相对应完整的源代码。在后来的一次采访中,Linus 对这次许可证的更改说了这样一句话(让 Linux 遵守 GPL 绝对是我干过的最正确的事):

" Making Linux GPL'd was definitely the best thing I ever did."

1 月 29 号 : Andrew S. Tanenbaum 向 comp.os.minix 邮件列表发送了一封名为 LINUX is obsolete 的邮件。总的来说,这次被一些人升级为“战火”的争论是关于 Linux 和内核架构的。Tanenbaum 争辩说微内核比宏内核更加高级,所以 Linux 是过时的。

4 月 5 号 : 第一个 Linux 新闻组,comp.os.linux 由 Ari Lemmke 提议和开通。

5 月 21 号 : Peter MacDonald 发布第一个独立的 Linux 安装包 SLS。可以通过软盘安装,包括比较前沿的 TCP-IP 网络支持和 X Window 系统。建议至少预留 10M 的磁盘空间来安装。

1993

6 月 17 号 : Slackware Linux 由 Patrick Volkerding 发布。Slackware 被认为是第一个取得广泛成功的 Linux 发行版,而且它现在还在使用。

8 月 16 号 : Ian Murdock(Debian 中的'ian')发布了第一个 Debian Linux 的发行版。Debian 是最有影响力的 Linux 发行版之一,是 MEPIS,Mint,Ubuntu 和很多其它发行版的鼻祖。

8 月 19 号 : Matt Welsh 写的《Linux Installation and Getting Started》第 1 版出版,这是第一本关于 Linux 的书籍。

1994

3 月 14 号 : Linux 内核 V1.0 发布。它支持基于 i386 单处理器的计算机系统。这 3 年来,内核代码库已经增长到了 176,250 行。

3 月 26 号 : 第一期《Linux Journal》杂志发行。这一期杂志的特点是发表了一篇对 Linus Torvalds 的采访和一些 Phil Hughes, Robert “Bob” Young, Michael K. Johnson, Arnold Robbins, Matt Welsh, Ian A 写的文章。

8 月 15 号 : Willian R. Della Croce, Jr. 申请了“Linux”商标,9 月进行了注册。Della Croce 在不知道 Linux 社区财政窘迫的前提下,向煊赫的“Linux 公司”写了一封信,要求他们为“Linux”商标使用支付费用。直到 1997 年,这次风波以将商标转让给代表所有请愿者和 Linux 使用者的 Linus Torvalds 而告终。

11 月 3 号 : Red Hat 的共同创始人 Marc Ewing 宣布可以以 49.95 美元的零售价格获得 Red Hat Software Linux 的 CD-ROM 和 30 天的安装支持。2012 年 Red Hat 成为第一家市值达 10 亿美元的开源公司。

1995

4 月 4 号 : 开展了第一个专门针对 Linux 的贸易展和会议系列,名字叫 Linux Expo。这成为接下来几年中,最流行和备受关注的年度 Linux 盛会。贸易展和会议的入场券价格是 4 美元。3 年后,Red Hat 接管了组织工作,同时也是主要的赞助商。

1996

5 月 9 号 : 最初由 Alan Cox 提议,之后又经 Linus Torvalds 改良,Larry Ewing 在 1996 年创造了现在看到的这只叫做 Tux 的吉祥物。选定企鹅作为 Linux 吉祥物的主意来自 Linus Torvalds,他说自己被一只企鹅轻轻地咬了一口之后就具有了企鹅的特征。(这是要变成企鹅侠吗?估计是原作者调皮了?-- 译注)

6 月 9 号 : Linux 内核 V2.0 发布。相比更早的版本这是一次意义重大的提升,这是第一个在单系统中支持多处理器的稳定内核版本,也支持更多的处理器类型。Linux 从此以后成了很多公司一个郑重选择的对象。你可以阅读 1996 年 8 月在 Linux Journal 上发布的回顾 Linux V2.0 来了解更多相关的提升。

10 月 14 号 : 1996 年 Mattias Ettrich 发起了 KDE 项目,因为他深受 Unix 桌面系统下应用程序的不一致之苦。(在此之前 Unix 和 Linux 都没有一个统一的桌面系统,编写桌面软件非常复杂 -- 译注)

1997

1 月 9 号 : 第一个“Linux 病毒”Bliss 被发现了。Bliss 不危害系统的安全,它依赖于人们用特权干蠢事来感染系统,然后提醒用户只安装从可靠站点下载的可以验证数字签名的软件,并且安装之前一定要先验证签名(很多地方把这个算作第 2 个 Linux 病毒,因为之前还有一个更加“绿色”的病毒 -- 译注)。“事实上,在 Linux 上写一个病毒可能会更加的简单,因为 Linux 是开源的,所有的源代码都是可以获取的。所以,随着 Linux 变得更加通用和流行的时候,我们将看到更多的 Linux 病毒。”-- 来自 McAfee 的畅想。

1998

5 月 1 号 : Google 搜索引擎面世。它不仅仅是世界上最好的搜索引擎之一,更是基于 Linux 的,它的特征是有一个 Linux 的搜索页面。

12 月 4 号 : 一份来自 IDC 的报告称 1998 年 Linux 的出货量至少上升了 200%,市场占有率上升至少 150%。Linux 的市场占有率为 17%,并且以其它任何操作系统无法企及的速度增长着。

1999

2 月 9 号 : Linux 和 BSD 使用者们发起了“Windows 退款日”。他们联合起来造访了微软公司,希望退还他们在买电脑时绑定购买 Windows 许可证的钱,这些许可证他们从来没有用过。

3 月 3 号 : 另一个颇具影响力的桌面系统进入了 Linux 的世界,就是 GNOME 桌面系统。在很多主要的 Linux 发行版比如 Debian,Fedora,RedHad Enterprise Linux 和 SUSE Linux Enterprise Desktop 中,GNOME 是默认的桌面环境。

2000

2 月 4 号 : 最新的 IDC 报告表明 Linux 现在排在“最受欢迎的服务器操作系统的第 2 位”,1999 年服务器系统销售量占总量的 25%。Windows NT 以 38%位列第 1,NetWare 以 19%排在第 3 位。

3 月 11 号 : 摩托罗拉公司宣布发行 HA Linux。这个发行版专注于通信应用领域,对系统不关机连续运行时间要求非常高。它还包括了热交换能力和支持 i386 和 PowerPC 架构。

3 月 23 号 : 爱立信公布了“Screen Phone HS210”,这是一款基于 Linux 的触屏手机,具备邮件和网页浏览等功能。爱立信和 Opera Software 公司同时宣布这款手机将会安装 Opera 的网页浏览器。

10 月 30 号 : 第一个 Linux live 发行版由 Linux 咨询顾问 Klaus Knopper 发布,名字叫做 Knoppix。

2001

1 月 3 号 : 美国 NAS(美国国家安全局)以 GPL 许可证发布了 SELinux。SELinux 提供了标准 Unix 权限管理系统以外的另一层安全检查。

2003

3 月 6 号 : SCO Group 公司宣布他们正在发起对 IBM 高达 10 亿美元的诉讼,他们声称 IBM 把 SCO 的商业机密整合到了 Linux 中。之后 SCO 公司发起了一系列的法律诉讼案,这威胁到了很多计算机行业的巨头包括惠普,微软,Novell,Silicon Graphics,Sun Microsystems 和 RedHat。这次案件在 Novell 公司的支持下于 2010 年 3 月 30 号判决完毕。(著名的 SCO-Linux 争议,SCO 声称拥有 System V 的部分源码所有权,IBM 将这部分源码整合到 Linux 中侵犯了 SCO 著作权。最后联邦法院裁定 Novell 才是 Unix 商标的合法拥有者。-- 译注)

2004

10 月 20 号 : Ubuntu 以一个不同寻常的版本号 4.10 和怪异的版本代号“Warty Warthog”(长满疙瘩的非洲疣猪)进入大家的生活。用这个版本号是因为发布日期是 2004 年 10 月。Ubuntu 的开发由 Cannonical Ltd 公司主导,公司的创始人是 Mark Shuttleworth(就是那个不到 30 岁的亿万富翁,钱多的不知道怎么花,只能烧钱上太空的游一圈的人 -- 译注)。Ubuntu 虽然不是内核的主要贡献者,然而对于 Linux 的台式机和笔记本电脑的普及,Ubuntu 扮演着一个重要的角色。

2007

6 月 6 号 : 华硕在 2007 的台北电脑展上展出了两款“易 PC”(Eee PC):701 和 1001。第 1 批易 PC 预装的是 Xandros Linux,这是一个基于 Debian,轻量级的为适应小屏幕进行过优化的 Linux 发行版。

8 月 8 号 : 2007 年 Linux 基金会由开源发展实验室(OSDL)和自由标准组织(FSG)联合成立。这个基金会目的是赞助 Linux 创始人 Linus 的工作。基金会得到了主要的 Linux 和开源公司,包括富士通,HP,IBM,Intel,NEC,Oracle,Qualcomm,三星和来自世界各地的开发者的支持。

「11 月 5 号 : 与之前大家推测的发布 Gphone 不同,Google 宣布组建开放手机联盟(Open Handset Alliance)和发布 Android,它被称为“第一个真正开放的综合移动设备平台”。」

2009

1 月 29 号 : 2009 年 1 月纽约时报称“现在预计有超过 10 亿人在运行 Ubuntu 系统”。

2011

5 月 11 号 : 2011 年 Google I/O 大会发布了 Chrombook。这是一款运行着所谓云操作系统 Chrome OS 的笔记本。Chome OS 是基于 Linux 内核的。

6 月 21 号 : Linus Torvalds 发布了 Linux3.0 版本。

2013

12 月 13 号 : Valve 公司发布基于 Linux 的 SteamOS 操作系统,这是一个视频游戏控制台系统。

4)《大教堂与集市》

Linus 发明 Linux 过程有点像将简陋的集市构建成一个宏伟壮丽的大教堂的一个过程。

《大教堂与集市》这本书分析了这种设计哲学。

大教堂与集市

世界上的建筑可以分两种:「一种是集市」,天天开放在那里,从无到有,从小到大;还有一种是「大教堂」,几代人呕心沥血,几十年才能建成,投入使用。

「当你新建一座建筑时,你可以采用集市的模式,也可以采用大教堂的模式。」

一般来说,集市的特点是开放式建设、成本低、周期短、品质平庸;大教堂的特点是封闭式建设、成本高、周期长、品质优异。

Eric Raymond 总结了集市要变成大教堂,有几个前提条件:

1)你不能从零开始建设集市,你必须先有一个原始项目。(It's fairly clear that one cannot code from the ground up in bazaar style.)

2)你的原始项目可以有缺陷,但是它必须能运行。(It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is run.)

3)你必须向用户展示一个可行的前景,且让潜在的合作者相信在可预见的将来它会变成一个真正漂亮的东西。(When you start community-building, what you need to be able to present is a plausible promise, and convince potential co-developers that it can be evolved into something really neat in the foreseeable future.)

4)项目的主持者本身不一定是天才,但他一定要能够慧眼识别出他人的优秀想法。(it is not critical that the coordinator be able to originate designs of exceptional brilliance, but it is absolutely critical that the coordinator be able to recognize good design ideas from others.)

5)项目的主持者必须要有良好的人际关系、交流技能和人格魅力。这样才能吸引他人,使别人对你所做的事感兴趣,愿意帮助你。(A bazaar project coordinator or leader must have good people and communications skills.)

Eric Raymond 同时也总结了一些成功的充分条件。

1)项目首先必须是你自己感兴趣的,但是最终能对其他人有用。

2)将用户当作合作者。

3)尽快地和经常地做出改进,多听取用户的意见。

4)健壮的结构远比精巧的设计来得重要。换句话说,结构是第一位的,功能是第二位的。

5)保持项目的简单性。设计达到完美的时候,不是无法再增加东西了,而是无法再减少东西了。

一个开放式的项目,如果加以良好的管理和运作,能取得比同等的封闭式项目大得多的成功。

三、比较

已经介绍了两位大神的生平的功绩,那下面我们来做个点评吧。

其实究竟谁更强,谁的贡献更大,作为一个晚辈程序员,对他们只有膜拜的分,岂敢随便下结论说他们谁更强,只能从他们的工作内容和主要成就来说说个人看法,不足之处,还请指正。

1. 成果

首先说说 C 语言之父丹尼斯•里奇(Dennis M. Ritchie),他对 C 语言的贡献大家有目共睹,不必多说。

除了是 C 语言的主要发明者之外,他还因为对 Unix 操作系统的重大贡献而被称为 Unix 之父。然而他的贡献远非如此,在 Unix 取得了巨大成功之后,他们在 20 世纪 80 年代开始研究一个名为 Plan 9 的操作系统,其目的就是解决 Unix 中的一些问题。

在之后的几十年中,该项目演变出了一个叫 Inferno 的项目以及一个名为 Limbo 的新语言,而该语言被公认为是目前火热的编程语言 Go 的前身。

从上面可以看出,丹尼斯•里奇的贡献是多方面的,除了编程语言还有操作系统,也正是因为如此,他获得了无数的奖项,其中最著名的就是「图灵奖」(1983)和「计算机先驱奖」(1994)。

再说说 Linux 之父,Linus Torvalds,他的贡献主要是开发了 Linux 操作系统的内核,然后将之开源公布于世,最后形成了对计算机行业影响巨大的一套操作系统,并且因此获得了计算机先驱奖(2014)。

2005 年用两周的时间就研发出了 Git,而这个软件版本管理软件影响了全球无数的软件开发者。

成果上来说,二位实在不相上下。

2. 难度

从难度上讲,编译器要比操作系统难度高很多,而且 linux 并不是从零起步的,它是继承 unix 系统内核的,使之适应 PC 兼容机,而我们知道,C 语言之父 Dennis M Ritchie 同时也是 unix 的创建者之一,在发明 C 语言之后,他自己又重新用 C 写了一遍 unix,linus 对他就是小弟弟了,写个操作系统对他而言并不费事。

现代的 windows、linux 给人感觉很庞大,因为它们是个平台,上面有海量应用和中间件,编译器给人感觉很小,但对内行来说,「编译器的难度要远高于操作系统」。

操作系统是需要耗费很多人工开发上面的应用,是软件界的劳动密集产品,而编译器更像是大师的艺术品,编译器是生产其它软件的工厂,对它的要求非常高。

我们国家其实早就能做操作系统了,985 大学里专业的本科学生就能交一份非商用的操作系统作业,但自己的编译器还是零,并不是学了编译原理就写的来编译器的。

3. 编程水平

从他们的工作成就来看,我认为丹尼斯•里奇更厉害一些,他的成就是多方面的,而且最关键的一点,Linux 的系统原型(Unix 的变体 minix)和编程语言(C 语言)都来自于丹尼斯•里奇的贡献的。但是如果仅仅从编程能力来说,到他们那种级别对编程都已经是炉火纯青,很难分出高下!

C 语言之父相当于自己动手造了一台挖掘机。人们可用他的挖掘机做能做的事。

linux 之父相当于自己带头挖了几个基坑,然后有一大票自带砖瓦、钢筋、混凝土的小伙伴共同建起一座大厦。又因为是 linus 是带头人,所以大厦名字由他起且看门大爷是他当。

况且,盖大厦(写操作系统)这种事,里奇同志早就干过了,而且是用自家造的机器和两个小伙伴就干成了!

应该说在 Dennis M Ritchie 面前 Linus 就是弟弟。

4. 对社会直接贡献

两位都为社会进步做了很大贡献。如果硬要比较的话,个人觉得 linux 和 git 的直接贡献更大一些。

没什么好说的,去各大软件公司走一圈就知道了,几乎没有不用 Linux 的。

Linux 应用的领域非常之广:

  1. Linux 在服务器领域的发展

随着开源软件在世界范围内影响力日益增强,Linux 服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到 Linux 的快速成长性以及国家相关政策的扶持力度,Linux 服务器产品一定能够冲击更大的服务器市场。

据权威部门统计,目前 Linux 在服务器领域已经占据 75%的市场份额,同时,Linux 在服务器市场的迅速崛起,已经引起全球 IT 产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

  1. Linux 在桌面领域的发展

近年来,特别在国内市场,Linux 桌面操作系统的发展趋势非常迅猛。国内如中标麒麟 Linux、红旗 Linux、深度 Linux 等系统软件厂商都推出的 Linux 桌面操作系统,目前已经在政府、企业、OEM 等领域得到了广泛应用。另外 SUSE、Ubuntu 也相继推出了基于 Linux 的桌面系统,特别是 Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux 桌面系统与 Windows 系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

  1. Linux 在移动嵌入式领域的发展

Linux 的低成本、强大的定制功能以及良好的移植性能,使得 Linux 在嵌入式系统方面也得到广泛应用,目前 Linux 以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的 Android 操作系统就是创建在 Linux 内核之上的。目前,Android 已经成为全球最流行的智能手机操作系统,据 2015 年权威部门最新统计,Android 操作系统的全球市场份额已达 84.6%

此外,思科在网络防火墙和路由器也使用了定制的 Linux,阿里云也开发了一套基于 Linux 的操作系统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的 Linux 来实现,而这一切均归功于 Linux 与开源的力量

  1. Linux 在云计算 / 大数据领域的发展

互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux 占据了核心优势;据 Linux 基金会的研究,86%的企业已经使用 Linux 操作系统进行云计算、大数据平台的构建,目前,Linux 已开始取代 Unix 成为最受青睐的云计算、大数据平台操作系统

  1. 国内 Linux 操作系统发展现状

国内目前涉足 Linux 操作系统研发除学校、研发机构外,主要 Linux 发行版包括红旗、中标、共创、新华、拓林思等,均有桌面和服务器两个版本;国内各发行版均基于国际社区版本发展而来,基于国际社区成果,在界面定制上做了一些工作,并没有掌握核心技术,且与国际 Linux 操作系统发行版之间存在一定的技术差距,缺少技术积累,面临 Linux 发展后劲不足等问题

  1. 国外 Linux 操作系统发展现状

国外 Linux 操作系统发展现状 国外主要发行版包括 redhat、ubuntu、Suse 等,均提供桌面和服务器两个不同版本。服务器领域 Linux 操作系统发展比较成熟,桌面发展比较缓慢,嵌入式领域发展较快。

可以说我们的生活已经无法离开 Linux,绝大部分软件工程师都会用到 Linux,但一定要记住这些都是建立在 C 语言的基础之上。

5. 个人理解

其实 2 人都不是从 0 开始的, 一个是基于 B 语言和 unix 系统的需求出发创造了 c 语言,一个是基于 minix 和 unix 思想还有当时的机遇开发了 linux。都是站在前任的肩膀上成功的。

在彭老师心里,Dennis Ritchie 更加重要一些,因为他用 C 语言开辟了一个新的世界,从诞生开始到现在,一直稳居语言榜前三位,都快 50 年了,我们依然在用它。

而 Linux 在服务器和移动端的占有率实在太高,直接贡献更多一些,而 linus 最厉害的一点是他做到了协调世界各地数以百万计的开发者开发维护 linux,这难度更大些。

彭老师内心可能更崇拜 linus 多一些,尤其他那一句“「Talk is cheap!Show me your code!」”!

Linus  Torvalds 怒怼英伟达

一起欣赏下祖师爷那性感的中指!!【某次演讲怒怼英伟达】

要获取电子书《大教堂与集市》,关注后台回复 [ 大教堂与集市 ]。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
CL32B106KBJNNNE 1 Samsung Electro-Mechanics Capacitor, Ceramic, Chip, General Purpose, 10uF, 50V, ±10%, X7R, 1210 (3225 mm), 0.098"T, -55º ~ +125ºC, 7" Reel
$0.19 查看
1051330011 1 Molex Telecom and Datacom Connector, 5 Contact(s), Female, Straight, Surface Mount Terminal, Locking, ROHS COMPLIANT

ECAD模型

下载ECAD模型
$1.31 查看
MCR100-6RLRMG 1 Rochester Electronics LLC 0.8A, 400V, SCR, TO-92, LEAD FREE, PLASTIC, CASE 29-11, TO-226AA, 3 PIN
$0.47 查看

相关推荐

电子产业图谱

公众号『一口Linux』号主彭老师,拥有15年嵌入式开发经验和培训经验。曾任职ZTE,某研究所,华清远见教学总监。拥有多篇网络协议相关专利和软件著作。精通计算机网络、Linux系统编程、ARM、Linux驱动、龙芯、物联网。原创内容基本从实际项目出发,保持原理+实践风格,适合Linux驱动新手入门和技术进阶。