订阅
纠错
加入自媒体

计算机软件领域大明星丹尼斯里奇和林纳斯谁更伟大?

2020-12-30 09:00
一口Linux
关注

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应用的领域非常之广:

Linux在服务器领域的发展

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

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

Linux在桌面领域的发展

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

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

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

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

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

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

国内 Linux 操作系统发展现状

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

国外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自传《just for fun》

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    人工智能 猎头职位 更多
    扫码关注公众号
    OFweek人工智能网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号