没有C语言之父,就没有乔布斯和Win10

不知不觉,丹尼斯·里奇离开我们4周年了。2011年10月12日,和里奇共事20多年的同事Rob Pike从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,当时无法知道准确的死亡时间,后来确定离世日期是10月9日。据他的兄弟透露,那几年丹尼斯·里奇的健康状况一直不好,他患有前列腺癌和心脏病。

乔布斯和丹尼斯·里奇都是在同年同月离世。但之后每年的这段时间,很多媒体都会纪念乔布斯,但很少提到丹尼斯·里奇。

-----【下面是今年的纪念文章】-----

如果没有丹尼斯·里奇(Dennis Ritchie),就不会有我们现在所熟知的现代计算。他是C语言之父和UNIX操作系统的联合发明人。四年前我们失去了两位对业界有巨大影响的人。

▲其实Lisp之父约翰·麦卡锡也是在2011年10月离世。10月24日

不可否认,乔布斯带给我们世上从未见过的创新和标志性的产品,还有一大批对他顶礼膜拜的狂热消费者和终端用户。诸如此类的事情可能再也看不到了。

尽管我对乔布斯和他的公司有看法是有据可查的,当他去世时,我和很多业界的人一样表达了我的敬意和对他的影响力的认可。

但是苹果和乔布斯以及很多其他公司所创造的“神奇的”产品,和所有现在我们了解和写在现代计算里的东西,都要归功于丹尼斯·里奇,他于2011年10月12号离开人世,享年70岁。

丹尼斯·里奇何许人也?

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

丹尼斯·里奇不像某位来自硅谷,精致的和少年得志的亿万富翁,穿着简约黑色的高领毛衣在站满粉丝的屋子里,演示新酷产品和恶意攻击对手。

不,丹尼斯·里奇是一位胡子有些凌乱的计算机科学家,他穿着羊毛衫坐在一间凌乱的办公室里。

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

是的,就是“What exit?”的新泽西。(编注:“What exit?”是新泽西当地俚语,Garden State Parkway是一条南北走向的高速公路,它穿过整个新泽西州,所以是一个很有用的地标。新泽西当地人问地方都问从这条高速的哪个出口出来就可以到达。)

鉴于乔布斯古怪的个性又极富创造力,人们经常把他和爱迪生作比较。我不赞同这种比较,因为实际上我们错把乔布斯当做一个真正的技术专家和发明东西的人。

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

他对于时尚和工业设计的确很有感觉,他理解用户想要什么,他还是一个营销大师和推销员。所有这些让他成为业界的巨人。

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

但是丹尼斯·里奇发明了和共同发明了两个关键的软件技术,它们是构成每一款计算机软件产品的DNA,现在我们直接或间接都在使用这些软件产品。这听起来让人难以置信,但它确实是真的。

首先,让我们从《C程序设计语言》开始

C语言是里奇在1969-1973开发的,它被认为是第一个真正意义上可移植的现代编程语言。自它诞生差不多45年以来,它已经被移植到几乎每一个出现过的系统架构和操作系统上。

因为它是一种命令的、编译的和程序化的编程语言,它允许语法变量作用域和递归,允许内存的底层访问,还有复杂的I/O和字符串操作功能,这种语言变得相当通用。

里奇和布莱恩·克尼汉(Brian Kernighan)对它进行了一定程度的优化,最终于1989年被美国国家标准协会的X3J11委员会进一步细化为ANSI C程序设计语言。

1978年,克尼汉和里奇合著出版了《C程序设计语言》这本书。该书被很多人简称为“K&R C”,是计算机科学的杰作,它也是解释现代程序设计概念的一个关键参考,甚至到今天,它还是计算机科学课程里学习程序设计的经典教材。

直到今天,ANSI C作为一种编程语言还被大量地使用,后来它还发展出很多的姊妹语言,这些语言又都有很多的追随者。

最流行的C++是由本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)于1985年发明,它增加了面向对象编程和类的支持,用在各式各样的操作系统上,包括像Linux和Mac这样的UNIX衍生品上,它作为微软Windows软件开发的主要编程语言长达20多年。

Objective-C,是由达石软件(Stepstone,Lumesse(路敏思)的前身)的布莱德·考克斯(Brad Cox)和Todd Love在八十年代发明的,增加了Smalltalk消息传递功能,进一步拓展了这种语言面向对象和代码重用的特性。

Objective-C很大程度上被认为是一个鲜为人知的C语言衍生品,直到它在八十年代末和九十年代初被广泛用于NeXT计算机系统公司的NeXTStep和OpenStep操作系统上,NeXT是乔布斯在1985被赶出苹果公司后所创办的。

“下一个”发生了什么就是一段计算机领域的传奇。NeXT于1996年被苹果公司收购,乔布斯在1997年重新回归苹果并出任公司的CEO。

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

当C++也被大量应用在Mac上,Objective-C被用来在XCode IDE下编写本地面向对象的“Cocoa”API,这些API是iOS上手势识别和动画功能的核心,这些功能为iPhone和iPad增光不少。

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

微软也有自己的C语言衍生品——C#(读作“C Sharp”),于2001年发明并作为.NET框架的编程基础。

C#还是编写基于Windows运行时(WinRT)的现代应用程序的基础,WinRT在Windows 10上发展成统一的Windows平台(UWP,Universal Windows Platform)。作为开发Mono(一个.NET框架的可移植版本)的编程环境,它也被用在Linux和其他Unix衍生系统上。

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

其它语言例如Ruby、Perl和PHP等,它们是构成动态现代网络的基础,也都使用了丹尼斯·里奇发明的C语言语法。

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

除了C语言,他还有Unix

只谈C语言对于现代计算的重要性和它对于每个人的影响,我其实就可以结束这篇文章。但这个人的工作生涯我才讲了一半而已。

里奇还是UNIX操作系统的共同发明人。当然UNIX的原型是用汇编语言编写,到七十年代早期就完全用C重写了。

早在1969年,在一台DEC PDP-7上引导了第一个版本的“Unics”,从那开始UNIX已经演变出很多类似的操作系统,并运行在各种各样的系统架构上。

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

你可点击和放大看这张图,可更好地理解这个“家族”。(编注:手机上无法查看大图)

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

第一个分支是“System V”UNIX,现在我们知道的有IBM的AIX、Oracle的Solaris和惠普的HP-UX。这些被认为是“大家伙”的操作系统被广泛应用于世界财富1000强的大企业里,驱动着关键的、面向交易的商业应用和数据库。

没有System V UNIX,那些被财富杂志1000强的企业不可能完成任何事情。商业都几乎停滞了。它们也许只占任何特定企业百分之十到二十的计算能力,但是这百分之二十相当重要。

第二个分支是BSD(伯克利系统发行版),包含FreeBSD、NetBSD和OpenBSD,这些都是Max OS X和iOS的基础。它们也被用于支持关键的基础设施骨干上,互联网就运行在上面。

第三个分支甚至不能算作一个分支——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,可以说如果没有里奇和他在贝尔实验室的同事们(Brian Kernighan、Ken Thompson、Douglas Mcllroy和Joe Ossanna)一起率先开发出UNIX,也就不会有什么Linux或者任何一个开放源代码软件运动。

从这个意义上说,自由软件基金会或者Richard Stallman很高兴看到乔布斯离开了。

我们亏欠丹尼斯·里奇很多

虽然存在宗教和意识形态的差异。但我们亏欠丹尼斯·里奇很多,超出我们的想象。没有他的贡献,现在我们没法用个人计算机,成熟的软件应用甚至是互联网。

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

没有微软的Windows10和Surface Book。

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

没有“为XX而生的应用程序”,也没有互联网这个东西。

向丹尼奇·里奇致敬——感谢他带给我们这些技术,让我们可以成为今天的专家。

▲1972年,丹尼斯·里奇(左)与肯·汤姆森在一台PDP-12前的合影

便签 http://www.biyinjishi.com/products/a50-b5010/
信纸 http://www.biyinjishi.com/products/a50-b5020/d100084/
信封 http://www.biyinjishi.com/products/a50-b5020/d100085/
纸杯 http://www.biyinjishi.com/products/a50-b5025/d100087/
杯垫 http://www.biyinjishi.com/products/a50-b5025/d100088/
联单 http://www.biyinjishi.com/products/a50-b5030/d100088
二联单 http://www.biyinjishi.com/products/a50-b5030/d100090/
三联单 http://www.biyinjishi.com/products/a50-b5030/d100091/
四联单 http://www.biyinjishi.com/products/a50-b5030/d100092/
五联单 http://www.biyinjishi.com/products/a50-b5030/d100093/
包装袋 http://www.biyinjishi.com/products/a50-b5050/d100093
包装盒 http://www.biyinjishi.com/products/a50-b5055/d100093
包装箱 http://www.biyinjishi.com/products/a50-b5060/d100093
工程图文 http://www.biyinjishi.com/products/a60/
大图打印 http://www.biyinjishi.com/products/a60-b6010/
图纸扫描 http://www.biyinjishi.com/products/a60-b6020/
打蓝图 http://www.biyinjishi.com/products/a60-b6030/
出硫酸图 http://www.biyinjishi.com/products/a60-b6035/

时间: 2024-08-25 18:43:25

没有C语言之父,就没有乔布斯和Win10的相关文章

Java之父评价C语言之父:我用尽了形容词 【转】

I've   run   out   of   adjectives! Java 之父詹姆斯·高斯林(James Gosling)在上周发布了关于讨论C语言之父丹尼斯·里奇(Dennis Ritchie)的简短博文(I've run out of adjectives),伯乐在线编译如下: 丹尼斯·里奇辞世的新闻如五雷轰顶.过去几天已经有很多资讯报道此事.他的影响巨大,并超越了科技世界,虽然他的大多影响都不为人知,但完全可以感受到.C语言撑起了一切.我的整个职业生涯也是从C语言和 Unix 中发

简述C语言之父的背后

丹尼斯·里奇, C语言之父,UNIX之父. 1978年与布莱恩·科尔尼干(Brian W. Kernighan)一起出版了名著<C程序设计语言(The C Programming Language)>相关C语言程序设计教程,此书已翻译成多种语言,成为C语言方面最权威的教材之一.2011年10月9日,丹尼斯-里奇去世,享年70岁. 丹 尼斯·里奇,全称丹尼斯·麦卡利斯泰尔·里奇.美国计算机科学家,对C语言和其他编程语言.Multics和Unix等操作系统的发展作出了巨大贡献.里 奇在哈佛大学学习

C语言之父丹尼斯-里奇辞世 引发全球“;”悼念

在众多的国际互动论坛上,计算机爱好者们以特有的方式纪念这位编程语言的重要奠基人.许多网友的发帖中没有片言只字,仅仅留下一个分号“;”.在C语言中,分号标志着一行指令语句的结束,网友们以此来悼念“C语言之父”,美国著名计算机专家丹尼斯·里奇(Dennis Ritchie)所引领的时代悄然远去. 在日益纷繁复杂的程序设计语言王国中,C语言因其简洁.有效.通用的特性而始终占据一席之地.被誉为“C语言之父”,同时也是操作系统Unix之父的C语言发明人之一丹尼斯·里奇10月9日以70岁之龄辞世. 生于19

Java之父 James Gosling 发表博文 《Too Soon》纪念乔布斯。

几个礼拜前,我们还在讨论乔布斯的辞职.虽然我们都知道这意味着什么,但是我没有想到一切来的如此之快.已经有很多关于这件事情的文章了,特别是“经济学人”的这篇文章. 乔布斯是一个很独特的人.苹果找不到人替代他,我也不认为他们应该尝试寻找乔布斯的替代者.因为,他是神一样的人物.苹果公司的员工对他有一种宗教式的崇拜.在工作中,他是出了名的难以相处,和对完美的极度追求.我曾和他有过三次面试,一次是他被苹果炒掉之前,一次是在NeXT,一次是他回归苹果以后.每一次我们都在Good Earth 吃了一顿时间很长

史蒂夫&#183;乔布斯-读书笔记6

摘要:此文记录了本人阅读乔老爷子传记过程中的一些感想,以及个人觉得比较好的内容.仅供参考. 原文:这次会谈实际上持续了45分钟,乔布斯说话丝毫不留情面.“看你的架势,你就想当一届总统吧.”一开场乔布斯就这样对奥巴马说.否则,他说,奥巴马政府应该对企业更友好一些.他描述了在中国建一家工厂有多么容易,而这在现在的美国几乎不可能做成,主要是由于监管和不必要的成本. 个人:在天朝,阔以这样说嘛? 原文:乔布斯的传奇是硅谷创新神话的典型代表:在被传为美谈的车库里开创一家企业,把它打造成全球最有价值的公司.

乔布斯告诉你:什么是面向对象编程

面的这段话摘自 1994 年 Rolling Stone 对乔布斯的采访,乔布斯解释了什么是面向对象编程. Jeff Goodell:请你用尽量简练的语言解释一下,究竟什么是面向对象的软件? 乔布斯:对象就像人一样,也是活生生的生命.他们有知识,知道怎么完成任务:他们有记忆,可以把发生的事情记下来.而你和他们的互动并不是低层次的,你是与他们在一个高度抽象的层面上互动,就像我们现在的对话一样. 我举个例子来说明.如果我是一个“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!

世界经典——乔布斯

      美国苹果公司5日晚宣布,该公司创始人之一及前首席执行官史蒂夫-乔布斯于周三去世,终年56岁.过去一年来,乔布斯一直在与胰腺癌及其他病症作斗争.今年 8月他辞去苹果公司首席执行官职务.乔布斯任职期间,苹果公司成为美国最具价值的企业.他改变了这个世界,让我们的生活因现代科技充满了更多可能. 乔布斯生平 ● 全名:史蒂夫·保罗·乔布斯● 出生日期:1955年2月24日● 教育程度:大学入学六个月后退学● 成长背景:婴儿时期被领养● 家庭成员:与劳伦·鲍威尔结婚,共有四名子女● 职业经历: 

乔布斯在斯坦福大学的演讲稿【中英】

昨天晚上,我的室友太白给我念了一篇MacTalk 公众号的文章,作者讲再也找不到这样一篇演讲,如此充满激情,如此给我们醒目的启示,Stay Hungry ,Stay Foolish,也变成我接下来工作生活的信仰, 求知如饥,虚心若愚 ! 我特地找到了这篇中英版本的乔布斯在斯坦福大学毕业时的演讲稿,给我们上一课,给我们的认识一些启迪. ==================================================================================

史蒂夫&#183;乔布斯在斯坦福大学的演讲

史蒂夫·乔布斯在斯坦福大学的演讲 'You've got to find what you love,' Jobs says This is the text of the Commencement address by Steve Jobs, CEO of Apple Computer and of Pixar Animation Studios, delivered on June 12, 2005. I am honored to be with you today at your com