C语言之父丹尼斯·里奇逝世
正文
2011年10月12日(农历2011年9月16日),没有C语言之父,就没有乔布斯和Win10。丹尼斯·里奇,C语言之父,UNIX之父。曾担任朗讯科技公司贝尔实验室下属的计算机科学研究中心系统软件研究部的主任一职。1978年与布莱恩·科尔尼干(BrianW.Kernighan)一起出版了名著《C程序设计语言(TheCProgrammingLanguage)》,现在此书已翻译成多种语言,成为C语言方面最权威的教材之一。2011年10月12日(北京时间为10月13日),丹尼斯·里奇去世,享年70岁。丹尼斯·里奇何许人也?普通年轻人可能都要摇头。丹尼斯·里奇是谁?丹尼斯·里奇不像某位来自硅谷,精致的和少年得志的亿万富翁,穿着简约黑色的高领毛衣在站满粉丝的屋子里,演示新酷产品和恶意攻击对手。不,丹尼斯·里奇是一位胡子有些凌乱的计算机科学家,他穿着羊毛衫坐在一间凌乱的办公室里。和乔布斯在大学辍学不同,他毕业于哈佛大学,有物理学和应用数学的博士学位。他工作于新泽西的AT&T贝尔实验室,而不是闪闪发光的硅谷。是的,就是“Whatexit?”的新泽西。(编注:“Whatexit?”是新泽西当地俚语,GardenStateParkway是一条南北走向的高速公路,它穿过整个新泽西州,所以是一个很有用的地标。新泽西当地人问地方都问从这条高速的哪个出口出来就可以到达。)鉴于乔布斯古怪的个性又极富创造力,人们经常把他和爱迪生作比较。我不赞同这种比较,因为实际上我们错把乔布斯当做一个真正的技术专家和发明东西的人。有一件重要的事情我们必须要意识到:尽管乔布斯有他擅长的事情,而且他为技术和计算机业界做出很大的贡献,但事实上他并不是一个技术专家。他对于时尚和工业设计的确很有感觉,他理解用户想要什么,他还是一个营销大师和推销员。所有这些让他成为业界的巨人。但是说到发明家?不,他不是。但是丹尼斯·里奇发明了和共同发明了两个关键的软件技术,它们是构成每一款计算机软件产品的DNA,现在我们直接或间接都在使用这些软件产品。这听起来让人难以置信,但它确实是真的。首先,让我们从《C程序设计语言》开始C语言是里奇在1969-1973开发的,它被认为是第一个真正意义上可移植的现代编程语言。自它诞生差不多45年以来,它已经被移植到几乎每一个出现过的系统架构和操作系统上。因为它是一种命令的、编译的和程序化的编程语言,它允许语法变量作用域和递归,允许内存的底层访问,还有复杂的I/O和字符串操作功能,这种语言变得相当通用。里奇和布莱恩·克尼汉(BrianKernighan)对它进行了一定程度的优化,最终于1989年被美国国家标准协会的X3J11委员会进一步细化为ANSIC程序设计语言。1978年,克尼汉和里奇合著出版了《C程序设计语言》这本书。该书被很多人简称为“K&RC”,是计算机科学的杰作,它也是解释现代程序设计概念的一个关键参考,甚至到今天,它还是计算机科学课程里学习程序设计的经典教材。直到今天,ANSIC作为一种编程语言还被大量地使用,后来它还发展出很多的姊妹语言,这些语言又都有很多的追随者。最流行的C 是由本贾尼·斯特劳斯特卢普(BjarneStroustrup)于1985年发明,它增加了面向对象编程和类的支持,用在各式各样的操作系统上,包括像Linux和Mac这样的UNIX衍生品上,它作为微软Windows软件开发的主要编程语言长达20多年。Objective-C,是由达石软件(Stepstone,Lumesse(路敏思)的前身)的布莱德·考克斯(BradCox)和ToddLove在八十年代发明的,增加了Smalltalk消息传递功能,进一步拓展了这种语言面向对象和代码重用的特性。Objective-C很大程度上被认为是一个鲜为人知的C语言衍生品,直到它在八十年代末和九十年代初被广泛用于NeXT计算机系统公司的NeXTStep和OpenStep操作系统上,NeXT是乔布斯在1985被赶出苹果公司后所创办的。“下一个”发生了什么就是一段计算机领域的传奇。NeXT于1996年被苹果公司收购,乔布斯在1997年重新回归苹果并出任公司的CEO。2001年苹果发布了MacOSX,其中大量使用了Objective-C,以及NeXTStep和OpenStep所引入的面向对象技术。当C 也被大量应用在Mac上,Objective-C被用来在XCodeIDE下编写本地面向对象的“Cocoa”API,这些API是iOS上手势识别和动画功能的核心,这些功能为iPhone和iPad增光不少。Objective-C还提供了FoundationKit和ApplicationKit,用于构建本地的OSX和iOS应用程序。微软也有自己的C语言衍生品——C#(读作“CSharp”),于2001年发明并作为.NET框架的编程基础。C#还是编写基于Windows运行时(WinRT)的现代应用程序的基础,WinRT在Windows10上发展成统一的Windows平台(UWP,UniversalWindowsPlatform)。作为开发Mono(一个.NET框架的可移植版本)的编程环境,它也被用在Linux和其他Unix衍生系统上。但是C语言的影响并不仅局限在它的衍生品上。Java这样一个重要的企业级编程语言,在很大程度上也是基于C语言语法(本身也演变为Dalvik和Android运行时,它们是Android最基本的编程环境)。其它语言例如Ruby、Perl和PHP等,它们是构成动态现代网络的基础,也都使用了丹尼斯·里奇发明的C语言语法。所以说如果没有丹尼斯·里奇的工作,我们根本就不可能有现代的软件。除了C语言,他还有Unix只谈C语言对于现代计算的重要性和它对于每个人的影响,我其实就可以结束这篇文章。但这个人的工作生涯我才讲了一半而已。里奇还是UNIX操作系统的共同发明人。当然UNIX的原型是用汇编语言编写,到七十年代早期就完全用C重写了。早在1969年,在一台DECPDP-7上引导了第一个版本的“Unics”,从那开始UNIX已经演变出很多类似的操作系统,并运行在各种各样的系统架构上。每一个主要的计算机供应商都曾经实现过自己的UNIX。甚至连微软也曾经拥有一个叫做XENIX的产品,后来卖给了SCO(已经不存在了)。你可点击和放大看这张图,可更好地理解这个“家族”。(编注:手机上无法查看大图)UNIX本质上有三个主要分支:第一个分支是“SystemV”UNIX,现在我们知道的有IBM的AIX、Oracle的Solaris和惠普的HP-UX。这些被认为是“大家伙”的操作系统被广泛应用于世界财富1000强的大企业里,驱动着关键的、面向交易的商业应用和数据库。没有SystemVUNIX,那些被财富杂志1000强的企业不可能完成任何事情。商业都几乎停滞了。它们也许只占任何特定企业百分之十到二十的计算能力,但是这百分之二十相当重要。第二个分支是BSD(伯克利系统发行版),包含FreeBSD、NetBSD和OpenBSD,这些都是MaxOSX和iOS的基础。它们也被用于支持关键的基础设施骨干上,互联网就运行在上面。第三个分支甚至不能算作一个分支——GNU/Linux。Linux内核(LinusTorvalds开发的)加上GNU用户空间程序、工具和实用程序,提供了一个完全重新实现的“类似UNIX”,或者说“兼容UNIX”的操作系统。当然Linux也是所有UNIX操作系统里最具破坏力的。从非常小的嵌入式微处理器到智能手机、到平板和桌面电脑,甚至强悍的超级计算机都可以看到它的身影。IBM的Watson就是这样一台Linux超级计算机,在《冒险吧!》的众目睽睽下甚至打败了KenJennings。但我们还是要认识到Linux和GNU没有包含任何UNIX代码——因此有自由软件的递归短语“GNU’snotUNIX”。(译者注:GNU是GNU’sNotUNIX的缩写,GNU’snotUNIX=>(GNU’sNotUNIX)’sNotUNIX=>((GNU’sNotUNIX)’sNotUNIX)’sNotUNIX=>…,有兴趣的话还可以找找其它的,比如PHP、XNA等等)但GNU/Linux在设计上表现得很像UNIX,可以说如果没有里奇和他在贝尔实验室的同事们(BrianKernighan、KenThompson、DouglasMcllroy和JoeOssanna)一起率先开发出UNIX,也就不会有什么Linux或者任何一个开放源代码软件运动。从这个意义上说,自由软件基金会或者RichardStallman很高兴看到乔布斯离开了。我们亏欠丹尼斯·里奇很多虽然存在宗教和意识形态的差异。但我们亏欠丹尼斯·里奇很多,超出我们的想象。没有他的贡献,现在我们没法用个人计算机,成熟的软件应用甚至是互联网。没有Android智能手机,没有昂贵的DVR和流媒设备,没有乔布斯和苹果创造令人惊叹的Mac和iPad。没有微软的Windows10和SurfaceBook。没有云计算、没有AWS(亚马逊网络服务,AmazonWebServices),没有Azure(微软云)。没有“为XX而生的应用程序”,也没有互联网这个东西。向丹尼奇·里奇致敬——感谢他带给我们这些技术,让我们可以成为今天的专家。▲1972年,丹尼斯·里奇(左)与肯·汤姆森在一台PDP-12前的合影
基本信息
| 年份 | 2011 |
|---|---|
| 日期 | 10 月 12 日 |
所属分类
相关推荐
- 日本著名动漫《多啦A梦》中的机器猫出生 2112年9月3日(农历2112年7月13日),日本著名动漫《多啦A梦》中的机器猫出生。哆啦A梦,又…
- 2032年“世界末日”的预言 2032年8月26日(农历2032年7月21日),霍金“世界末日论”地球毁灭的预言。2032年世界末…
- 韩国首尔踩踏事件 为什么踩踏事件会被记录为大事件?2022年10月29日晚上,韩国首尔梨泰院正在进行万圣节庆典,就在进…
- 英国女王伊丽莎白二世去世 2022年9月8日,英国在位时间最长的君主伊丽莎白二世去世了,伊丽莎白二世与英国一起走过了70年的日…
- 日本前首相安倍晋三遇刺身亡 2022年7月8日安倍晋三在街头演讲时,被山上彻也开枪袭击,送往医院的途中因伤势过重不治身亡。奇怪的…
- 斯里兰卡破产 2022年7月6日斯里兰卡总理正式宣布斯里兰卡破产,早在今年3月份斯里兰卡就已经岌岌可危,因为经济问…
- 俄乌冲突 2022年2月15日,随着俄罗斯国防部高调宣布撤回部分部署在俄乌边境、此前正在参与大规模军事演习的陆…
- 以色列空袭加沙事件 当地时间5月10日以色列与巴勒斯坦加沙地带武装分子的冲突加剧。以色列军方表示,自5月10日晚间以来,…
历史上的今天精选推荐
- 土耳其新年恐袭案 2017年1月1日(农历2016年12月4日),土耳其元旦恐袭案。现场抢救中土耳其最大城市伊…
- 全面两孩元旦施行 2016年1月1日(农历2015年11月22日),全面实施放开二孩政策。全面两孩元旦施行20…
- 中国-东盟自贸区正式建成 2010年1月1日(农历2009年11月17日),中国-东盟自贸区正式建成。2010年1月1…
- 国际标准书号(ISBN)由10位制改为13位制 2007年1月1日(农历2006年11月13日),国际标准书号(ISBN)由10位制改为13…
- 国务院发布《中华人民共和国反补贴条例》 2002年1月1日(农历2001年11月18日),国务院发布《中华人民共和国反补贴条例》。1…
- 欧元诞生 在21年前的今天,1999年1月1日(农历1998年11月14日),欧元诞生。法兰克福交易所…
- 百度公司成立 2000年1月1日(农历1999年11月25日),百度一下,你就知道。百度(Nasdaq:B…
- 欧元正式进入流通 2002年1月1日(农历2001年11月18日),欧元正式进入流通。2002年1月1日零时,…
- 我国与南非建交 在22年前的今天,1998年1月1日(农历1997年12月3日),我国与南非建立外交关系。乔…
- 欧洲经济区成立 在26年前的今天,1994年1月1日(农历1993年11月20日),欧洲经济区成立。1994…
- 兰桂坊惨剧 在27年前的今天,1993年1月1日(农历1992年12月9日),香港兰桂坊发生人踩人惨剧,…
- 中国政府废止农业税 2006年1月1日(农历2005年12月2日),中国政府废止农业税。2006年1月1日,中国…
延伸阅读
- 老黄历:2026-11-12 祭祀.修填.涂泥.馀事勿取
- 老黄历:2026-11-13 交易.立券.会友.签约.纳畜
- 老黄历:2026-11-11 祈福.祭祀.结亲.开市.交易
- 解梦:龟鳖 梦见龟鳖是什么意思?做梦梦见龟鳖好不好?梦见龟鳖有现实的影响和反应,也有梦者的主观想象,…
- 解梦:龟蛇 梦见龟蛇是什么意思?做梦梦见龟蛇好不好?梦见龟蛇有现实的影响和反应,也有梦者的主观想象,…
- 解梦:龟文 梦见龟文是什么意思?做梦梦见龟文好不好?梦见龟文有现实的影响和反应,也有梦者的主观想象,…
句读
- cedega不适免费的,最低消费是购买月,每月元,如果预付一年的费用的话,可以享受一点折扣。
- CNC切割机,磨边机,钻孔机,清洗机,自动丝印机,水平弯钢化炉。
- CA红旗轿车侧围总成检验设备,是用于检验侧围焊接总成各部位形状、位置、尺寸的综合检验夹具。
- CHT钢丝帘线在全钢载重子午线轮胎胎体中的应用。
- CWM格式是包含更多细节的完整模型说明,这些细节比如详细的约束、复杂关系、超级类型和子类型等。
- CXG核心技术是结合了聚乙烯、聚丙烯、尼龙和沙纶纤维定型形成连锁的盘绕,然后压缩装嵌入高弹力的聚胺亚酯胶囊。
- Coldplay现在正躲在伦敦北部的某个录音室里,努力推敲着他们仍未命名的第四张专辑的具体细节,专辑预计于五月发行。
- CDI提供的一些注解列举如下。