unix操作系统的现状 计算机先驱布莱恩

在UNIX发展的长河中,为其做出贡献而熠熠生辉的明星数不胜数,很难用语言来定义区别他们的不同成就,但我们可以尝试选取一个具有特殊意义的切入点来一览UNIX传奇。

以《UNIX传奇》出版为契机,我们选择本书作者UNIX命名以及传奇代码“Hello, World”的发明者、计算机先驱布莱恩·W.克尼汉(Brian W. Kernighan)为起点,一同探寻布莱恩的传奇人生和UNIX的传奇历史吧!

unix操作系统的现状 计算机先驱布莱恩(1)

作者:[美]布莱恩·W.克尼汉(Brian W. Kernighan)

译者:韩磊

布莱恩的传奇人生

unix操作系统的现状 计算机先驱布莱恩(2)

布莱恩

了不起的科学家

布莱恩·W.克尼汉,1942年出生于加拿大多伦多,本科就读于多伦多大学工程物理专业,1969年获得普林斯顿大学电气工程博士学位之后加入了大名鼎鼎的贝尔实验室。2000年从贝尔实验室退休后,任教于普林斯顿大学计算机科学系。

从工程物理到计算机科学,这其间又有什么故事呢?

我大三时已经开始自学Fortran语言,接触计算机科学,并热衷于专研新技术。

unix操作系统的现状 计算机先驱布莱恩(3)

其实,当布莱恩在多伦多大学学习时,整个学校只有一台拥有32K(32768)个36位字长的磁芯存储器和大机械硬盘形态的次级存储的IBM 7094大型计算机,而这台机器却算是当时最高端的设备了。

此时的计算机科学正处于发展初期,对于大众而言,计算机科学是一门陌生的领域。但大三学生布莱恩已经开始自学Fortran语言,接触计算机科学,并努力专研新技术。

但即使是他在1964年进入普林斯顿大学读研究生时,普林斯顿大学也没有独立的计算机科学系,只有部分对计算机科学感兴趣的教授。

或许天才都是大胆又有远见的,布莱恩在研究生期间并没有放弃对计算机科学领域的探索,他在1966年暑假去麻省理工学院实习,使用CTSS和MAD编写程序,为Multics新操作系统打造工具,并在第二年去贝尔实验室计算机科学研究中心实习。

在贝尔实验室的第一段实习中,他为了方便在Fortran程序中做列表处理,写了一套函数库,其间也给需要学编程的物理学家和化学家上Fortran课。

在贝尔实验室的第二段实习中,他一边完成他的博士论文《Some Graph Partitioning Problems Related to Program Segmentation》(《与程序分割相关的一些图分割问题》),一边与实验室的研究员林申共同研究组合优化问题。

这些学习经历更加坚定了布莱恩探索计算机科学领域的决心。

unix操作系统的现状 计算机先驱布莱恩(4)

加入贝尔实验室

在布莱恩通过博士毕业答辩后,他并不需要进行面试和研究成果展示,便直接加入了贝尔实验室计算科学研究中心,潜心探索计算机科学这个蕴藏了无穷能量的新兴领域。

那么贝尔实验室(Bell Labs)又是一个什么样的地方?

位于美国新泽西州墨里山的贝尔实验室可以说是20世纪最伟大的实验室,这里吸引了全世界的人才,也诞生了大量计算机科学界的瑰宝。

在贝尔实验室工作期间,布莱恩创造出了许多促进计算机发展的伟大成就。他与林申一起为AT&T客户的私有网络优化设计提供了 一套复杂工具,并一同完成了两个著名的NP-Complete优化问题的解决办法——图划分问题和旅行商问题的算法。

图划分问题(graphpartitioning):

给定一些由边线连接的节点,试将这些节点切分为大小相同的两组,且从一组中的节点到另一组中的节点的连接边数尽可能少。

unix操作系统的现状 计算机先驱布莱恩(5)

图划分问题

旅行商问题(最短路径问题)(travelling salesman problem, TSP):

给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。它是组合优化中的一个NP困难问题,在运筹学和理论计算机科学中非常重要。

unix操作系统的现状 计算机先驱布莱恩(6)

旅行商问题的解

布莱恩不仅是著名的K&R(Kernighan and Ritchie)中的K,是AWK(Alfred Aho、Peter Weinberger和Brian Kernighan)中的K,也是AMLP(A Mathematical Programming Language,数学编程语言)的创造者之一。

并且你能想象得到吗?

在编译器Ratfor、文档编制预处理器Pic、Grap和数学排版语言Eqn等这些重要研究成果背后都有布莱恩参与的身影!多么惊人的创造力!

unix操作系统的现状 计算机先驱布莱恩(7)

科学家的另外一种身份:作家

然而,布莱恩不仅仅是一位了不起的科学家,他还是一为出色且多产的作家。

1974年,他写的第一本书,是和比尔·普劳格合著的《The Elements of Programming Style》(《编程格调》),在这本书中出现了一个以他名字命名的定律——柯林汉定律。

柯林汉定律:调试一段代码的难度是编写它们的两倍,因此如果你的代码写得尽可能巧妙,按照定义而言,你可能没有能力来调试它了。

1976年,他和比尔·普劳格合著《Software Tools》(《软件工具》),意在向非UNIX系统上编写Fortran的程序员传播UNIX工具理念。

1978年,他与C语言之父丹尼斯·里奇合著了《The C Programming Language》(《C程序设计语言》),该书广为人知,被尊称为“K&R手册”和“C语言圣经”

书中作为编程语言入门的示范传奇程序"Hello, World!",也源于本书。

unix操作系统的现状 计算机先驱布莱恩(8)

如今"Hello, World!"这句简单英文,对于大部分计算机行业外的人士来说只是“你好,世界!”,而对于计算机行业的人士来说,"Hello, World!"是踏上代码征程的初始徽章。

现如今,他的最新作品《UNIX传奇:历史与回忆》的中文版刚刚出版。布莱恩将个人经历与旧友回忆汇编成全新力作《Unix传奇:历史与回忆》,这本书通过180则传奇人物故事,将UNIX操作系统50年发展史中的重要发明与60项杰出成就串联起来,带领读者探寻9项诺贝尔奖 4项图灵奖的传奇起源。

“这是了解UNIX和它的故事的最佳途径”“读完这本书,计算机领域这一个个熠熠生辉的巨星,跟你身边的朋友没有太大的不同”……这是广大读者对这本书的一致评价。

想知道UNIX背后那段恢弘历史?

不妨让《UNIX传奇:历史与回忆》带你一览风采

unix操作系统的现状 计算机先驱布莱恩(9)

UNIX传奇:历史与回忆

作者:[美]布莱恩·W.克尼汉(Brian W. Kernighan)

内容简介

“自1969 年在贝尔实验室的阁楼上诞生以来,UNIX操作系统的发展远远超出其创造者们的想象。它带动了许多创新软件的开发,影响了无数程序员,改变了整个计算机技术的发展轨迹。

本书不但书写 UNIX 的历史,而且记录作者的回忆,一探 UNIX的起源,试图解释什么是 UNIX,UNIX是如何产生的,以及UNIX为何如此重要。

除此之外,本书以轻松的口吻讲述了一群在贝尔实验室工作的发明天才的有趣往事,书中每一个故事都是鲜为人知却又值得传播的宝贵资源。

本书适合对计算机或相关历史感兴趣的人阅读。读者不需要有太多的专业技术背景,就可以欣赏UNIX 背后的思想,了解它的重要性。”

为何创作这本书

如今,UNIX 及其衍生产品在特定的技术社区之外并不广为人知,但它们是若干系统的核心,这些系统已是许多人生活的一部分。谷歌(Google)、脸书(Facebook)、亚马逊(Amazon)等提供的许多服务和其他大量服务都由 Linux 驱动。

Linux 是类 UNIX操作系统,可以说UNIX是当今市面上流行操作系统的源头

你的手机或 MacBook 运行着某种版本的UNIX操作系统。如果你家里有 Alexa 等智能小电器,或者车上有导航软件,它们也由类 UNIX 操作系统驱动。

如果你浏览网页时总被广告轰炸,也是 UNIX操作系统在后面支撑。当然,基于 UNIX 的追踪系统也知道你在做什么,以便更精准地对你进行广告轰炸。

布莱恩认为理解我们习以为常地使用的技术如何演化而来,颇为要紧。我们需要铭记那些顶住压力、克服时间限制,做出了定义技术发展方向和路径的决策的人们。

仅就那些如今看起来大错特错抑或倒行逆施的选择而言,常常也是在当时可用资源限制之下所能考虑和实现的必然结果。

如果我们能了解历史,就会越感激那些创造 UNIX 的发明天才, 或许也越能理解现代计算机系统是如何发展成现在这个样子的。

正是意识到UNIX的非凡影响,布莱恩决定创作《UNIX传奇:历史与回忆》一书,讲述计算机历史上这个极具生产力和发展性的时期中的一些精彩往事,重温贝尔实验室中富有活力而充满乐趣的UNIX时光,共享UNIX之父丹尼斯·尼奇(Dennis Ritchie)所说的那种因努力改善人类生活而获得的愉悦。

本书所回答的问题

•UNIX是怎么来的?

•贝尔实验室是怎样的机构?

•寥寥数位研究员组成的小团队是如何改变世界的?

•是什么让UNIX成为可能,并推动它演化?

这是人们对于UNIX及其背后故事的疑问。

布莱恩在《UNIX传奇:历史与回忆》中回答了这些问题。并且,布莱恩还在文中补充讨论了:

•UNIX及其周边环境为何如此成功?

•区区两人的实验性产品如何演化为真正改变世界的东西?

•这是否是孤例?

•类似事件还会发生吗?

• 如此耀眼的成果如何能够被规划出来?

大咖推荐

“你的能力不可能超越你的鉴赏力。阅读顶级大师的书,特别是记录了历史演变和其心路历程的杰作,是提高鉴赏力的捷径。《UNIX传奇:历史与回忆》就提供了这样一次难得的机会。”

——杨力祥 畅销书《Linux内核设计的艺术》作者之一

“这本兼备严谨与通俗的《UNIX传奇:历史与回忆》带我们回到了那个创新、进取的时代,以亲历者的视角分享了有关UNIX的历史与故事,读来令人激动不已。”

——邱岳 无码科技产品经理,“二爷鉴书” 作者

“UNIX的主要创造者之一的亲身回忆,有助于我们]理解操作系统的精髓,领悟他们的开拓精神。在硬件可编程、硬件可重构时代,操作系统对电子信息类专业的教师和学生也是非常重要的。”

——张有光 北京市教学名师 北京航空航天大学电子信息工程学院博士生导师、教授

“希望更多的读者能够读到这本书,它会使你对UNIX的历史和计算机发展进程有更深入的理解。也感谢这本书的译者和人民邮电出版社,向国内广大读者分享了一段如此精彩的历史往事。”

——秦冰 统信学院执行院长

“(UNIX发展的)整个过程引发了在技术、法律、全球社群、文化、协作模式、互联网等各个方面的一系列持续创新。今天,UNIX看似已经不复存在,但却又无处不在,UNIX是传奇!”

——徐继哲 自由软件支持者,牛顿项目创始人

“我们可以看到优秀的科学家在遇到问题时如何思考问题、解决问题,而这恰恰是我国当前操作系统教育、操作系统工作者最缺失的。”

——冯富秋 阿里云智能系统技术负责人

“我不知不觉地看完了这本书,获得轻松愉快的阅读体验和回味无穷的精神滋养。”

——朱少民《全程软件测试》作者,同济大学特聘教授

“这本书,恰可以作为我们了解贝尔实验室UNIX操作系统前世今生的重要参考。”

——汤小丹 教授经典教材《计算机操作系统》第一主编

“如果你是计算机行业的从业人员,单单是了解这些如雷贯耳的名词如何诞生就会让你激动不已。即使没有深厚的技术背景,你也可以从这些闪耀着天才光芒的思想中获益良多。”

——祁宁(Joyqi) SegmentFault思否CTO

“在C语言奠基人之一克尼汉的这本风格轻松的回忆录中,除了那些令人着迷的故事,你还可以学习很多软件设计的基本原则,领悟解决软件核心复杂性问题的真谛。”

——李锟 资深业务架构

因此,若是你对UNIX及其背后故事有所好奇且抱有疑问,那么就快来翻阅这本为你答疑解惑之书吧!

文章编辑:罗梦婷 雷雨轩

审校:刘鑫

参考来源:《UNIX传奇:历史与回忆》 推荐辞、前言、第一章

-END-今日互动你对本书的看法?

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页