用了四年的UTF-8,今天才知道是他写的。计算机界传奇人物-肯·汤普森

Posted JIANGJIZE1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用了四年的UTF-8,今天才知道是他写的。计算机界传奇人物-肯·汤普森相关的知识,希望对你有一定的参考价值。

这几天没有更新文章,因为一直在忙论文,周末了,来看篇轻松的文章。

1983 年,美国计算机协会将图灵奖授予肯·汤普森和与丹尼斯·里奇。

在这里插入图片描述
-----计算机届的诺奖

获奖理由是:“For their development of generic operating systems theory and specifically for the implementation of the UNIX operating system.”

翻译过来就是:

“授予肯·汤普森和与丹尼斯·里奇图灵奖,以表彰其在通用操作系统理论领域的贡献,特别是UNIX操作系统的开发与实现。”

现年75岁的肯·汤普森,无论是在编程界这个圈子里,还是在计算机这个大行业内,都称得上是“祖师爷”级别的人物。作为美国计算机科学的领军人物,肯·汤普森经常不走寻常路,出奇制胜。
在这里插入图片描述

简介

肯尼斯·蓝·汤普森(英语:Kenneth Lane Thompson,1943年2月4日-),小名为肯·汤普森(英语:Ken Thompson),生于美国新奥尔良。为美国计算机科学学者与软件工程师,任职于贝尔实验室Entrisphere, IncGoogle Inc。与丹尼斯·里奇同为1983年图灵奖得主。他与丹尼斯·里奇设计了B语言、C语言,创建了Unix和Plan 9操作系统,编程语言Go的共同作者。发展正规表示法,写作了早期的电脑文字编辑器QED与ed,定义UTF-8编码,以及发展电脑象棋。

01 小时候的他

肯·汤普森出生于1943年。在他小学的时候,有一堂课讲到了二进制,喜欢逻辑的他立刻被吸引住了,在兴趣的驱使下,他做了很多相关的二进制计算,并借助一台十进制计算器将其扩展到各种进制。

其实,老K小时候也有类似的经历,我上初中的时候对物理非常着迷,很早就开始研究,牛顿的头发是在哪烫的?我想,我的物理老师,就是从那个时候开始有心理阴影的。

肯·汤普森,从小就是妥妥的学霸一枚,边玩边学,轻松考上了加州大学伯克利分校,攻读电子工程学士学位。

虽然,国外的大学不像国内这么轻松,随便放飞自我。但是,对于肯·汤普森这样的大神来说,课程so easy,哪里不会点哪里。

于是他迷上了一个新玩意:计算机。

每天晚上,趁着没人的时候,他就偷偷溜进机房,自学了编程,编写游戏、玩游戏,嗨到不行。

大四那年,大神心里还是有点B Tree的,因为觉得自己不务正业,都在玩游戏和编程,电子工程没怎么好好学,所以没有申请读研究生。

正当他准备卷铺盖毕业的时候。一位教过他的老师Berlekamp教授替他申请了研究生,并且通过了,多好的教授啊!

回想起老K大学时候的教授,我的论文改了八回,答辩两次才勉强毕业。同样都是教授,怎么差别就这么大呢?当然了,同样是学生,差别就是这么大。

在研究生阶段,肯·汤普森只用了一年就毕业了,你没看错,他只用了一年就拿到了电子工程和计算机科学的硕士学位。

02 个人经历

  • 1966年加入了贝尔实验室。汤普逊参与了贝尔实验室与麻省理工学院以及通用电气公司联合开发的一套多使用者分时作业系统,名叫Multics,同时他自己用写的一个“star
    travel”游戏可执行于Multics之上。贝尔实验室后来撤出Multics计划。汤普逊只好找到一台老式PDP-7机器,重写了他的“star
    travel”游戏。
  • 在开发Multics的期间,汤普逊创造出了名为Bon的程式语言。汤普逊花了一个月的时间开发了全新的操作系统,UNiplexed
    Information and Computing
    System(UNICS),可执行于PDP-7机器之上,后来改称为UNIX。第一版的Unix就是基于B语言来开发的。Bon语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并与1971年共同发明了C语言。1973年Thompson和Ritchie用C语言重写了UNIX。安装于PDP-11的机器之上。
  • 1983年,美国计算机协会将杜林奖授予汤普逊与丹尼斯。
  • 2000年12月时,汤普逊退休,离开贝尔实验室,成为了一名飞行员。

在这里插入图片描述

03 肯·汤普逊 - 研究项目

Multics是由麻省理工学院,AT&T贝尔实验室和通用电气合作进行的操作系统项目,被设计运行在GE-645大型主机上,但是由于整个目标过于庞大,糅合了太多的特性,Multics虽然发布了一些产品,但是性能都很低,最终以失败而告终。

AT&T最终撤出了投入Multics项目的资源,其中一位开发者──肯·汤普逊则继续为GE-645开发软件,并最终编写了一个太空旅行游戏。经过实际运行后,他发现游戏速度很慢而且耗费昂贵——每次运行会花费75美元。

在丹尼斯·里奇的帮助下,汤普逊用PDP-7的汇编语言重写了这个游戏,并使其在DEC PDP-7上运行起来。这次经历加上Multics项目的经验,促使汤普逊开始了一个DEC PDP-7上的新操作系统项目。汤普逊和里奇领导一组开发者,开发了一个新的多任务操作系统。这个系统包括命令解释器和一些实用程序,这个项目被称为UNICS(Uniplexed Information and Computing System),因为它可以支持同时的多用户操作。后来这个名字被改为UNIX。
在这里插入图片描述
对于程序员来说,搞砸一个项目是很稀松平常的事情,就像老K这10几年的职场生涯搞垮过的项目,都可以写出“搞垮系列”了。

但是让肯·汤普森失望的是,他发现这个游戏在MULTICS操作系统上运行速度很慢而且耗费昂贵 —— 每次运行会花费75美元。

后来,由于MULTICS操作系统这个项目过于庞大和复杂,贝尔实验室决定退出这个项目。
在这里插入图片描述

04 肯·汤普逊 - 改造创新

最初的Unix是用汇编语言编写的,一些应用是由叫做B语言的解释型语言和汇编语言混合编写的。B语言在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并与1971年共同发明了C语言。1973年汤普逊和里奇用C语言重写了Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用C语言编写的Unix代码简洁紧凑、易移植、易读、易修改,为此后Unix的发展奠定了坚实基础。

1974年,汤普逊和里奇合作在ACM通信上发表了一片关于UNIX的文章,这是UNIX第一次出现在贝尔实验室以外。此后UNIX被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。

1975年,UNIX发布了4、5、6三个版本。1978年,已经有大约600台计算机在运行UNIX。1979年,版本7发布,这是最后一个广泛发布的研究型UNIX版本。20世纪80年代相继发布的8、9、10版本只授权给了少数大学。此后这个方向上的研究导致了Plan 9的出现,这是一个新的分布式操作系统。

1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。

这个新的UNIX商业发布版本不再包含源代码,所以加州大学柏克莱分校继续开发BSD UNIX,作为UNIX System III和V的替代选择。BSD对UNIX最重要的贡献之一是TCP/IP。BSD 有8个主要的发行版中包含了TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4以及 4.4-lite。这些发布版中的TCP/IP代码几乎是现在所有系统中TCP/IP实现的前辈,包括AT&T System V UNIX 和Microsoft Windows。

其他一些公司也开始为其自己的小型机或工作站提供商业版本的UNIX系统,有些选择System V作为基础版本,有些则选择了BSD。BSD的一名主要开发者,比尔·乔伊,在BSD基础上开发了SunOS,并最终创办了太阳计算机系统公司。

1991年,一群BSD开发者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)离开了加州大学,创办了Berkeley Software Design, Inc (BSDI)。BSDI是第一家在便宜常见的Intel平台上提供全功能商业BSD UNIX的厂商。后来Bill Jolitz 离开了BSDI,开始了386BSD的工作。386BSD被认为是FreeBSD、OpenBSD 和 NetBSD、DragonFlyBSD的先辈。

AT&T继续为UNIX System V增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987到1989年,AT&T决定将Xenix(微软开发的一个x86-pc上的UNIX版本),BSD,SunOS和System V融合为System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。

1993年以后,大多数商业UNIX发行商都基于SVR4开发自己的UNIX变体了。

那一年,肯·汤普森年仅26岁。

05 肯·汤普逊 - 现状

1127部门的解散

根据一项报道指出,当年负责研发UNIX与后续维护工作的贝尔实验室1127部门已于2005年8月正式宣告解散肯·汤普逊已退休,现居加州;丹尼斯·里奇调到别的部门;而Douglas McIlroy则在达特茅斯学院担任教授。
在这里插入图片描述

UNIX经典的设计哲学KISS,就是在那个时候被提出来的——Keep It Simple, Stupid。

06 结语

此人只应天上有

以上是关于用了四年的UTF-8,今天才知道是他写的。计算机界传奇人物-肯·汤普森的主要内容,如果未能解决你的问题,请参考以下文章

用它5分钟以后,我放弃用了四年的 Flask

买了四年康宁定期保险,交了6400元,四年的现金价值为58元,请帮忙计算现在退保能退还多少元现金?

求职复盘:干了四年外包出来,面试5次全挂

离开住了四年的出租屋

外包干了四年,感觉废了..

一场等了四年的分享——听黄勇老师聊可靠性设计的那些事