十一城

跬步千里,小流江海。

Home Linux ML Python Java Thoughts KmKg BookCan Links About

2018-01-22
转-网络时代的爱迪生-Bill-Joy

• 分类: linux • 标签:

转载自http://blog.sina.com.cn/s/blog_5d1526260100oavx.html

其貌不扬的瘦高个,凌乱的亚麻色头发,这就是被《财富》杂志誉为“网络时代的爱迪生”的Bill Joy。他曾是Sun的创始人之一,并在Sun担任首席科学家长达二十一年。他是一位令人崇敬的软件天才,同时也是一个标准的技术狂人——在记载英雄的历史中,我们注意到,天赋和近乎疯狂的偏执这两者总是结伴出现,并在英雄的身上达到一种交融的境界。

然而,软件英雄史诗令人遗憾地忽略了Bill Joy的另一面——作为一名以追求公民社会正义和道德为己任的公共知识分子。他也曾多次尝试,希望通过自己的独立思考,并以个人言论的方式来影响社会,推动社会进步和解决公共问题。   

话说当年,AT&T在反垄断法的判决下,不得已放弃了从Unix开发和支持中获利的念 头,从而专心致志地开始卖Unix的源代码许可证。当时,Bill Joy所在的Berkeley计算机科学系就在贝尔实验室所发布源代码的基础上,开始了他们的Unix研究——可能当时所有人都没有意识到,这一行为对后 来的世界产生了多大的影响。在Berkeley持续不断的研究中,Unix具备了如此多的现代操作系统特征:基于分页的虚存系统、统一的文件系统、强大而 完善的脚本、网络……   

最早基于分页的虚存系统就是由Bill Joy加入到Unix内核中的,这使得Unix得以打败DEC的VMS操作系统而成功获得DARPA的支持。国防部雄厚的资金成为Bill Joy和他的伙伴们强有力的支柱,让他们能够源源不断地挥发灵感,继而完成了csh、vi、TCP/IP等等。csh(C Shell)以其强大的功能获得了广大程序包括各种不同版本的Unix和Linux;至于TCP/IP就更不用说了,您能在遥远的中国了解到Bill Joy的英雄历程,正是基于TCP/IP的互联网所赐。1984年,Bill又发布了NFS网络文件系统,其后则是在此基础上的PC-NFS。在成立Sun微系统公司后,Bill Joy又担当设计了Sparc微处理器最关键的一部分电路。每年Sun公司靠Sparc服务器和工作站的生意能赚到上百亿美元。而Java虽然是由Sun 的James Gosling所写,却也是因为他的全力支持,从而走到台前,从一种编程语言演变成为今天流行的开发平台。   

在Java之后,Bill Joy还主持了Jini——一种连接分布式计算机系统的技术的开发。任何联网的小装置(数码相机、电视机、打印机等)都可以由包含有Java写成的简单程 序实现自己的功能,并且供其他设备使用;还有Jxta,这是一套开放的P2P协议,允许任何互联网上相连的设备(如手机与PDA,个人电脑与服务器)交流 和协作。   

在短短的二十年内,Bill Joy创造出了那么多令人心动的软件,不得不令人折服。可提到哪一个对程序员的影响最大呢?人们众说纷纭。也许小小的Vi编辑器的影响是最持久的。正如 Reg网络杂志做的调查,大多数程序员都评论说:“没有NFS、Java和其他的技术还能活;但是如果没有Vi,简直没法活了!”  

Bill Joy能在IT圈外广为人知,不仅因为他是个技术天才,也不仅因为他是个人人羡慕的亿万富翁,主要还是因为2000年他在《连线》杂志上发表的一篇文章 《未来还需要我们吗》。他宣称生物技术和纳米技术的轻率进展也许会给人类带来灭顶之灾,也许未来不再需要人类。Joy的这篇跨越其专业的文章引来了很大争议。有人认为,Joy只是个程序员,并没有资格谈论 生物技术的复杂性。就算是IT界的同仁尼葛洛庞帝在接受采访时也说:“Bill Joy当年写这篇文章时,正处在中年危机之中。我正好知道这一点。因此其文反映了他那段时间的失意。”   

难道只有所谓的专业人士才有资格评说技术灾难吗?难道公众就缺乏基本的分析与判断吗?所 以,Bill Joy面对这些非难并不放在心上,他认为提出这个命题的目的不是危言耸听,而是要让公众都关心技术危害的问题,思考我们应该做些什么来避免不想见到的未 来。这就是一个知识分子的公共良知。此外,他还陆续发表了《为数字革命而设计》等多篇涉及技术的文化影响的文章,引起了广泛的注目。   

2003年9月,Bill Joy离开Sun。当时Sun公司的股票也应声下跌了3.2%。后来,Bill Joy在接受《连线》杂志的采访时高兴地说“嗨,我辞职了!”。可是这并不意味着他的职业生涯就此结束。除了每天在家中面壁沉思外,他还在考虑着未来的技术。说不定哪一天这个网络的爱迪生又会带给我们新的惊喜。


Bill Joy──硅谷最聪明的人

查看Vi的历史时,才知道了这个大名鼎鼎的编辑器的作者──Bill Joy,在wiki里看了一下他的介绍,简直是神一般的人物啊,我觉得按照实力肯定超过RMS,至少跟Knuth是同一个量级的人物。金庸的小说我不太 熟,不过要是用我有限的关于《天龙八部》的了解做类比的话,RMS应该是乔峰,Knuth差不多应该是乔峰老爹,Bill则是那个扫地僧。当然最后两个可 能有些失当,因为Knuth并不是那么穷凶极恶的人,而Bill在计算机界并不像扫地僧那么默默无闻,相反,他的知名度不亚于另一个Bill──Bill Gates(我觉得Gates差不多是个慕容复的角色,当然只是指他的身份是皇族。虽然MS有些垄断,不过Gates真是个不错的人)

网上的介绍太少了,连wiki上都只有短短的几行,所以这里想稍微整理一下他的资料,好好膜拜一下这家伙。

Bill Joy其实并不叫Bill,他的真名是William Nelson Joy,不知道为什么通称叫Bill Joy。他和三个斯坦福的人创办了Sun Microsystem(前段时间,Sun已经被Oracle收购了,真是可惜,Sun是计算机界少有的很无私的公司,做了很多开源的好东西,MySql,OpenOffice,OpenSolaris,VBox……),2003年时他辞去了在Sun的首席科学家职务。

Bill出生于1954年,他在密歇根州度过了他的童年时光。和很多武侠小说里的人物不一样的是,Bill是受了正规教育的,并且小时候就展现出大师的潜 质。16岁的时候,他进入了密歇根大学。Bill在这里接触到了计算机并开始迷恋上编程。那时候的计算机非常昂贵,学校只给每个学生分配了一定的机时,开 机时输入时间数,超过这个时间就没法使用了。不过有个家伙发现,如果选择输入的时间是一个字母,那么系统就不会终止你使用。Bill每天夜里都跑到机房去 编程,到凌晨才回来。Bill仿佛那个扫地僧一般,利用自己的身份偷偷学习武功秘籍。从密歇根大学毕业后,Bill进入了加州大学伯克利分校。刚进入伯克 利时,Bill的武功并不是最好的。不过他继续发疯似的编程,功力大大提升。1979年时,Bill获得了电气工程与计算机科学硕士学位,并且继续在伯克 利攻读博士学位。这时候他的功力已经可以在高手云集的电脑武林中有一席之地了。在博士期间,Bill和另一个人一起开发Unix的伯克利分支,也就是 BSD,另立宗派。BSD后来有了许多分支,包括FreeBSD,NetBSD和OpenBSD等,以及商业上的MacOSX,实力不容小觑。在伯克利期 间,Bill还开发了著名的编辑器Vi,由于他的modem只有300K,所以这个编辑器的操作方式非常古怪,许多初学电脑的人完全不知道该如何操作,不 过这并不妨碍它成为Unix上最出名的两个编辑器之一。除了这两个软件之外,Bill的引人注意的贡献还有TCP/IP以及csh,这两个东西现在还在广 泛使用之中。

不过Bill再天才毕竟也是一个人,精力还是有限的。由于把大部分时间都花在了BSD上,自己的博士项目则没有好好研究,遭到师傅的痛骂。不过OS的事情 也是师傅交给他的,所以他觉得师傅实在不够厚道,心里颇有微词。恰好这时候,斯坦福大学的两个人听说了Bill的大名,慕名打电话要和Bill办公司。 Bill不知道是诸葛亮附体,还是故意给斯坦福的人难堪(因为斯坦福是伯克利的死敌,类似于国内的清华北大的关系,虽然清华还不足以与斯坦福他们相比), 接了十几次电话愣是没有出山。他们陆续地打了一个多月电话,Bill实在拗不过,只好答应和他们见面。打电话的两个人分别是Vinod Khosla和Scott McNealy,分别是Sun的第一任和第二任CEO,见面的时候,他们还带上了有硬件诗人之称的Andy Bechtolsheim。Bill和前面两个人对生意的讨论说不上话,和这个硬件诗人倒是很投缘,两人互相切磋武艺,相谈甚欢。Bill再想到自己在伯克利的龌龊之事,狠下心来签了字,做了叛逃师门的勾当。

Bill在Sun主管软件开发,继续修炼武艺。他在自己以前开发的BSD上继续发展成为Sun的镇派之宝,并且主持设计了SPARC微处理器,更是Sun 的独门绝技。凭借着SPARC的优异性能,Sun在高端微处理器市场击退众多高手,取得领先地位。除了这些秘籍之外,Bill还主持开发了万能语言 ──Java,此兵器更是所向披靡。虽然略显笨重,却是武林中难觅敌手的重量级兵器,在众多语言排行榜上力压C语言排名第一。Bill之强,不仅使Sun 迅速成为足以与IBM和HP抗衡的企业之一,也给计算机界注入了新动力。

2003年,Bill退出了自己工作了20多年的Sun,在这之前,Sun已经在走下坡路了。Bill的离开更是一个沉重的打击。Bill并没有归隐,但 也没有立刻投入工作。他把一部分精力投入研究高科技的潜在风险之中。他认为生物技术和纳米技术可能会造成人们无法控制的灾难。科学家通常只是从纯技术的角 度研究问题,不能避免这些成果被政府、组织甚至个人利用造成伤害。我个人对此是很赞同的,人类历史上已经不止一次发生了科技滥用的现象,从大炮到核武器, 都是人类利用科技自相残杀。Bill准备深入涉及公共政策领域研究,也就是参与科学政策制定,让人们深刻认识和采取措施应对潜在的巨大科学风险。

Bill Joy, 前任Sun的首席科学家,当年在 Berkeley时主持开发了最早版本的BSD。他还是vi和csh的作者。当然,Csh Programming Considered Harmful 是另一个话题乐。据说他想看看自己能不能写个操作系统,就在三天里写了个自 己的Unix, 也就是BSD的前身。当然是传说了,但足见他的功力。另一个传说是,1980年初的时候,DARPA让BBN在 Berkley Unix里加上BBN开发的TCP/IP代码。但当时还是研究生的B伯伯怒了,拒绝把BBN TCP/IP加入BSD,因为他觉得BBN 的TCP/IP写得不好。于是B伯伯出手了,端的是一箭封喉,很快就写出了高性能的伯克利版TCP/IP。当时BBN和DARPA签了巨额合同开发TCP /IP Stack,谁知他们的代码还不如一个研究生的好。于是他们开会。只见当时B伯伯穿个T-shirt出现在会议室(当时穿T-shirt不象现 在,还是相当散漫的哈)。只见BBN问:你怎么写出来的?而B伯伯答:简单,你读协议,然后编程就行了。最令偶晕倒的是,B伯伯硕士毕业 后决定到工业界 发展,于是就到了当时只有一间办公室的Sun, 然后他就把Sparc设计出 来乐。。。象这种软硬通吃的牛人,想不佩服都不行的说。据Bill Joy 的同事说,一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。但往往在关键之处,B伯伯发言,直切要害,提出 漂亮的构想,让同事们彻底崩溃。对了,他还 是Java Spec和JINI的主要作者之一。

在上个世纪80年代早期,DARPA与BBN达成协议,准备将Vinton Cerf和Bob Kahn设计的TCP/IP协议添 加到Berkeley UNIX中。Bill Joy被委派来完成这项任务,然而他却拒绝将BBN的TCP/IP协议栈添加到BSD中,因为在他的眼中 BBN的TCP/IP实现还远不够好,于是他就写了一个高性能的TCP/IP协议栈。John Gage回忆道,“BBN和DARPA签署了巨额合同来实 现TCP/IP协议,然而他们的员工所编写的代码远没有一个研究生所做的好。于是他们邀请Bill Joy参加他们的一个会议,这位研究生穿着一件T- Shirt就出现了,他们询问他,‘你是如何做到的呢?’Bill回答说,‘这是非常简单的一件事,你读一下协议然后就可以编码了’”。除了TCP/IP 协议,基于分页的虚拟内存系统最早也是由Bill Joy添加到Berkeley UNIX内核当中的。同时他还是vi、csh、早期Pascal编译器 的作者。  

关于Bill Joy惊人的软件才能流传最广的一个传奇是,据说他在上研究生的时候,想看看自己能不能写一个操作系统出来,于是就 在三天里写了一个非常简陋,但是可以使用的Unix系统, 传说就是BSD的前身。虽然如此夸张的才情令人难以置信,但是考虑到主角是Bill Joy, 还是有一定的可信度的。Bill Joy硕士毕业之后,决定到工业界发展,于是就到了当时只有一间办公室的Sun, 他作为主要设计者参与了SPARC微 处理器的设计,负责设计最为关键的一部分电路。这样兼精软硬件的天才实在是让人不得不佩服啊。1995年,Sun发布了轰动世界的Java语言。当 然,Bill Joy对Java也作出了不少的贡献,首先是JINI——一种针对分布式服务的基础连接技术。任何可以内嵌JVM的电子设备都可以通过 JINI相互连接;JXTA是基于Java的P2P协议,允许互联网上的软件进行点对点交流和协作。  这个其貌不扬的瘦高个,有着凌乱的亚麻色头发,被 《财富》杂志誉为“网络时代的爱迪生”的技术狂人,在短短的二十年间,创造了无数令人心动的软件。在MIT的BBS上曾有一个帖子,说微软电话面试有一道 题,问“Who do you think is the best coder, and why?”虽然回复的帖子中大家都声明列举的 best coder排名不分先后,然而大多数人仍把Bill Joy列在第一位,或许可以从一个侧面验证Bill Joy在广大Programmer心 目中的地位吧。

据Bill Joy的同事说,一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。但往往在关键之处,B伯伯发言,直切要害,提出 漂亮的构想,让同事们彻底崩溃。


dzzxjl

Home Linux ML Python Java Thoughts KmKg BookCan Links About