UNIX传奇:历史与回忆

UNIX传奇:历史与回忆

作者布莱恩.W. 克尼汉(Brian W. Kernighan),全球知名的计算机先驱,普林斯顿大学计算机科学系教授。曾在贝尔实验室工作超过30年,见证了Unix的诞生。著有《C程序设计语言》(豆瓣9.4分)、《Unix编程环境》(豆瓣8.8分)、《Go程序设计语言》(豆瓣9.3分)等10多部在计算机领域具有影响力的著作。

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

本书不但书写Unix的历史,而且记录作者的回忆,一探Unix的起源,试图解释什么是Unix,Unix是如何产生的,以及Unix为何如此重要。除此之外,本书以轻松的口吻讲述了一群在贝尔实验室工作的发明天才的有趣往事,本书中每一个故事都是鲜为人知却又值得传播的宝贵资源。

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

本书的书写角度是亲历历史,描写的故事有的被广为流传,有的却无人知晓。

磁芯内存;16K bit, 2KB,1971年大概卖1.6万美元

穿孔卡,1960s大多数操作系统将程序指令打到穿孔卡上操作,耗时巨大

肯·汤普森与乔·康登开发的Belle国际象棋计算机

1969年贝尔实验室内部电话号码簿

第1版Unix中的cat(1)用户手册

UNIX传奇:历史与回忆:前言

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

Unix及其衍生产品在特定的技术社区之外并不广为人知,但它们是若干系统的核心,这些系统已是许多人生活的一部分。谷歌(Google)、脸书(Facebook)、亚马逊(Amazon)等提供的许多服务和其他大量服务都由Linux驱动。Linux是类Unix操作系统,后文将会讲到。你的手机或MacBook运行着某种版本的Unix操作系统。如果你家里有Alexa等智能小电器,或者车上有导航软件,它们也由类Unix操作系统驱动。如果你浏览网页时总被广告轰炸,也是Unix操作系统在后面支撑。当然,基于Unix的追踪系统也知道你在做什么,以便更精准地对你进行广告轰炸。

50多年前,在一小群合作者和追随者的帮助下,有两个人创造了Unix。由于一系列幸运的“意外”,我在其中亦有贡献,但绝不敢居功自傲。我顶多是写了一些有用的软件,还有几本帮助人们学习Unix及其语言、工具和哲学的图书。这要感谢那些顶尖的合著者们。

本书不但书写Unix的历史,而且记录了我的回忆,一探Unix的起源。本书试图解释什么是Unix,Unix是如何产生的,以及Unix为何如此重要。不过,本书绝非学术著作(脚注欠奉[1]),与我的初衷不同,它偏重回忆甚于历史。

本书为那些有兴趣了解计算或创新史的读者撰写。书中有一些技术内容,我会尽量给出解释,好让没有相关背景知识的读者能够领会基本概念,以及了解这些概念的重要之处。读者可以随意略过看起来太难懂的部分,不必逐字阅读。对于程序员,其中一些解释会显得太啰唆,还好书中有些对历史的思考仍然有用,与之有关的故事也颇有意趣。

我虽尽力求真,但回忆总有错漏。而且,那些我借以佐证的访谈、忆旧、口述、书籍和文章并不全然与我的记忆相符,甚至这些资料也会互相矛盾。

幸好很多早期参与其中的人士仍然健在,他们能够帮我去伪存真。他们的记忆也会有误,或者带有定见,但成书中的错漏皆我之过。

本书主要的写作目的是讲述计算机历史上某个极具生产力和发展性的时期中的一些精彩往事。理解我们习以为常地使用的技术如何演化而来,颇为要紧。有人顶住压力、克服时间限制,做出了定义技术发展方向和路径的决策。越了解历史,我们越感激那些带来Unix的发明天才,或许也越能理解现代计算机系统是如何发展成现在这个样子的。仅就那些如今看起来大错特错抑或倒行逆施的选择而言,常常也是在当时可用资源限制之下所能考虑和实现的必然结果。

Unix操作系统是故事的中心,但其余亦有涉及。我还将讲述被广泛使用的C语言,人们用它编写了支持互联网运行的系统及利用系统能力的各种服务。在贝尔实验室,还有一些编程语言随Unix而生,尤其要提到也被广泛使用的C++。Word、Excel和PowerPoint等微软Office软件就是用C++写成的,大多数网页浏览器也是用C++编写的。程序员们耳熟能详的一二十个日常开发工具,在Unix的早期就已问世,四五十年以来一直维持原状,至今仍在许多程序员的工具包中有一席之地。

计算机科学理论同样扮演着重要的角色,常常极大地推动实用工具的产生。硬件研究开拓出设计工具、集成电路、计算机体系架构,还有不常见的特殊用途设备。这些活动相互作用,往往带来预料以外的发明,这也是贝尔实验室在多个不同领域持续产出活力的原因之一。

科技创新的发生还与另一件有趣的事相关。Unix诞生地贝尔实验室是很出色的机构,它既制造出许多好点子,也投资了这些好点子。多个改变世界的发明由贝尔实验室而起,它的运作机制足资学习。

Unix的故事当然也贡献了大量有关设计和构造软件,以及有效利用计算机的洞见,我会在书中一一指出。例如,Unix软件哲学倡导合用既有软件,完成很多不同任务,而不是从头写个新软件。这个例子简明又生动,它在编程领域体现了“分而治之”的故技:将大任务切分为多个小任务,每个小任务都变得更可控,然后再以各种不可思议的方式将之整合到一起。

最后,虽然Unix是贝尔实验室最抢眼的软件,但它绝非贝尔实验室对计算领域的唯一贡献。计算科学研究中心(The Computing Science Research Center),即传说中的“1127中心”,或简称“1127”,在那二三十年里面生产力“爆棚”。Unix激发了它的能力,Unix也是它的工作基础,但1127中心的贡献远超于此。1127中心的成员写出了多本重要著作,这些著作在后面的很多年里成为计算机科学的核心文献,也是程序员可以按图索骥的指南。1127中心分外显赫,在当时及以后都是极具生产力和规模较大的计算机科学研究团体。

Unix及其周边环境为何如此成功?区区两人的实验性产品如何演化为真正改变世界的东西?这是否是孤例?类似事件还会再发生吗?关于如此耀眼的成果能否被规划出来的大问题,我打算留到本书末尾再讨论。目前我认为,Unix的成功是一些偶然因素的作用结果:两位杰出人士,一群优秀拥趸,卓越而开明的管理体制,有远见的公司的持续投资,允许离经叛道、大胆探索的自由环境。科技快速演进,硬件以指数级速度不断变小、变快、变便宜,推动了Unix的应用。

对我和贝尔实验室的很多同事而言,Unix的早期岁月既富有活力,又充满乐趣。我希望这本书能让你略微感受到丹尼斯•里奇说的那种因努力改善人类生活而获得的愉悦。


豆瓣评分:8.9

豆瓣评论

大师云集的贝尔实验室,C语言,Unix,耳熟能详的命令行工具……一段现代操作系统的序章,一群谦逊而卓越的天才。

写了unix在贝尔实验室诞生到后来的发展,那真是一个英雄辈出的年代,贝尔实验室那个时候招进来的人现在都是那些名字如雷贯耳的人

和朋友聊天提到这本书,ta问“这书有什么用呢”?我愣住了:你说它有用吧,它确实不像编程书算法书一样能给读者带来很明显的收益;你说它没用吧,显然又有失偏颇——这样说来《冰与火之歌》是不是也没啥用?读了《乔布斯传》的人那么多,有谁复刻了苹果帝国?后来我想明白了:对我来说这本书足够有趣,就可以了。我们也没必要把所有“知识”都用来变现、也不是所有的价值都必须在工具上产生。可能是我们太焦虑、太卷的缘故吧,大多数时候“价值”都是被“主流信息”所裹挟的。然而经济学上有个概念:闲暇时间也是有价值的。闲暇是我们个性的源泉,我愿意把闲暇用在这书上。

这个世界上有多少人敢说:”我是看着 C++ 长大的“,同时又能说出:”C++,我知道的也不多“。自信与谦卑,这应该就是所谓的大师境界吧。

这本书出版前的五个版本与读者分享一下。

最终你知道的那个版本

最终加腰封的外封和内封效果图

Unix和C语言是软件历史上的两座丰碑,希望《UNIX传奇:历史与回忆》让您认识贝尔实验识,了解UNIX的起源。

一本珍贵的UNIX简史:长期位居亚马逊UNIX榜单前5的这本书相关推荐

  1. 如何使用E邮宝的热敏标签纸打印亚马逊外箱单?

    普通的热敏打印机可以打印亚马逊FBA标签和外箱标签吗? 如何使用条码打印机打印亚马逊FBA外箱标签? 亚马逊的外箱标签可以用热敏打印吗? FBA外箱标签怎么打印? 如打印何亚马逊发货标签? FBA发货 ...

  2. 牛!鸿星尔克登上亚马逊新品榜第一;中国跨境电商半年交易额近九千亿元;商务部回应亚马逊封号事件;亚马逊下架盲盒产品…|洞悉跨境

    "鸿星尔克的产品登上亚马逊女士休闲运动鞋新品销量榜单第一. " 每晚八点·洞悉跨境 [鸿星尔克登上亚马逊新品榜第一]鸿星尔克的产品登上亚马逊女士休闲运动鞋新品销量榜单第一.除了第一 ...

  3. 爬虫(一):用python爬取亚马逊所有家具种类前100名的商品信息(上)

    目标 亚马逊公司(Amazon),是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图,是网络上最早开始经营电子商务的公司之一,现在已成为全球商品品种最多的网上零售商和全球第二大互联网企业. 本次目 ...

  4. 亚马逊测评做单总是被砍单封号是什么原因?

    最近亚马逊测评很多都遇到做单被砍的情况,明明已经支付成功了,还是被秒了,对于买号下单的朋友来说,简直是血亏,那到底是什么原因呢,下面从我的角度给大家一些分享: 电脑底层环境.支付卡和网络 IP 异常 ...

  5. 爬虫(二):用python爬取亚马逊所有家具种类前100名的商品信息(下)

    目标 亚马逊公司(Amazon),是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图,是网络上最早开始经营电子商务的公司之一,现在已成为全球商品品种最多的网上零售商和全球第二大互联网企业. 本次目 ...

  6. 我在亚马逊商城卧底的日子

    英文原文:My week as an Amazon insider 亚马逊这世界上最大的网路公司,近来却不断有质疑他们对待员工方式不合理的声音传出,也有员工因为压力过大传出精神出问题的消息.到底在这家 ...

  7. 亚马逊的逆向工作方法论

    <逆向工作>是内部人士对亚马逊的文化.领导力和最佳实践方法的剖析,来自两位长期的亚马逊高层管理人员. Carr于 1998 年加入亚马逊:Bryar于 1999 年加入.在<逆向工作 ...

  8. 重读经典 | 亚马逊“一键下单”的背后——个性化推荐系统的发展历程

    一般都认为,亚马逊的成功要归功于它鼎鼎大名的"一键下单"功能,但"一键下单"的背后,还需要一个成单量极高的智能推荐系统,来驱动消费者不停地在亚马逊上" ...

  9. 营业额破千亿美元的亚马逊仍难令华尔街满意

    电商巨头亚马逊在28日盘后发布去年第四季度财报,尽管业绩创下了其近20年历史的最佳纪录,但由于低于此前市场的普遍预期,因而股价依然在盘后遭遇了超过13%的大幅下挫. 尽管华尔街不满意亚马逊的表现,但单 ...

最新文章

  1. Android 活动与活动间数据传递
  2. display:none与visible:hidden的区别
  3. Tensorflow学习笔记——word2vec
  4. python中timedelta_Python – 使用时间戳,timedelta的日期和时间比较
  5. 信息学奥赛一本通(1057:简单计算器)
  6. 规划 SOA 参考架构
  7. python数组下标用变量_你所不知道的Python奇技淫巧13招【实用】
  8. 【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
  9. Mysql之各种各样的函数啦
  10. DirectX SDK 安装时出现错误 [Error Code:S1023] 的解决方案
  11. 种子文件多服务器,别再问我什么是 BT 种子了!一次性全告诉你
  12. brctl: command not found
  13. ASP + SQL Server聊天室设计实例
  14. 机器学习(聚类七)——层次聚类的优化算法
  15. svn访问路径提示Unable to connect to a repository at url
  16. 用css实现文字抖动特效
  17. 游戏金币数据库:QPTreasureDB
  18. 归并排序及“归并”思想的应用
  19. 爬虫实战之全站爬取拉勾网职位信息
  20. 交通安全与智能控制专业学计算机吗,交通安全与智能控制专业就业前景怎么样...

热门文章

  1. Python-因式分解 (10 分)
  2. DDD系列第四讲:领域层设计规范
  3. (跨境电商模式)境外商品进口的4种方式
  4. 【android】音乐播放器之UI设计的点点滴滴
  5. 海康 nvr获取历史视频流
  6. “我的世界开服侠”使用教程
  7. 企业仓库管理系统的设计与实现(ASP.NET,SQL)
  8. Ceph作为Hadoop分布式文件系统的可扩展替代方案
  9. 南开大学计算机学院 肖嘉文,南开大学计算机学院导师教师师资介绍简介-张志刚...
  10. java 限制发送频率_java发送短信如何限制发送频率例子代码