如何让酝酿8年的想法在1小时内实现?

刚拿到《UNIX传奇——历史与回忆》这本书,看到作者的名字,就让我一下子感到好亲切。

v2-6c2469bf6b87eefc88eb16a8fcc2b678_b.jpg

作者Brian Kernighan是普林斯顿的教授。10年前我在普林斯顿大学做博士后时,和Kernighan教授的办公室都在计算机系楼的三层,经常能看到他。那时他给本科生上一门计算机入门课,一位师弟是他的助教,当时我还做过他布置的编程大作业。

这本书让我想起了十年前在普林斯顿的一些美好回忆。那时很多人一起午餐时会聊些科研,也会聊些八卦。我记得就好多次聊到过Kernighan教授。有一次聊到1983年图灵奖,颁给了发明Unix和C语言的Ken Thompson和Dennis Ritchie。大家聊到如果能颁给三个人,那么第三个人就应该是Brian Kernighan——Unix这个词就是他创造出来的,他为Unix写了很多软件(如awk),他和Ritchie合著的《The C Programming Language》已成为历史经典,他编写的“Hello, World!”程序几乎成为全世界所有程序员的图腾。此外,他在图划分问题、旅行商问题上也做出突出贡献,提出了经典的“Kernighan-Lin”算法。因为Kernighan对计算机领域的杰出贡献,也让他获得了美国工程院院士、美国AAAS院士等荣誉。

可以说,Kernighan教授是Unix的见证人,同时他还很擅长写书,所以在读这本书之前我预计会很有料。读完之后,果然感到非常过瘾。全书不到230页,其实半天就能看完,但很多章节值得反复细读,有些内容篇幅不长,却是蕴含很大信息量的历史索引——按图索骥,能让我们更好地把握技术演进背后的规律。

举两个例子。

一、书中第4.4节介绍管道(pipe)的由来,我反复读了好几遍,越读越受启发——管道是Unix中很引人注目的创新,其原始想法早在Unix诞生5年前就在贝尔实验室一份内部文件中提出,但却一直未能实现。当第一版Unix完成后,它便成了一个试验创新想法的平台。1972年的某一天,Ken Thompson突然想到了在Unix上可以很容易就实现管道机制,于是他只花了一个小时就在Unix上添加管道系统调用,然后又把管道机制添加到shell,顿时就看到了“很震撼”的结果。一个酝酿了8年的想法,竟然在一个小时内就实现了!

v2-ff82138a88aa05bb6c062e5591621f1b_b.jpg

管道的故事,让我们看到了花时间研制平台的价值,也让我们对正在研制的平台更有信心、对我们选择的模式更加坚定。所以,读一本好的历史书或回忆录,能让我们有机会去感受到这种跨越时空的鼓舞和激励。

管道的故事,也给我在国科大本科的操作系统课提供了生动的教学素材。作为一位授课老师,总是希望课堂气氛能活跃生动些。而这本书就提供了大量生动的小故事,所以强烈推荐上操作系统课的老师们读一读。

二、第8.2节“UNIX战争”和第8.3节“Minix和Linux”,篇幅都不长,但信息量非常大。Unix的发展过程中也曾遭遇版本分叉、标准竞争甚至商业诉讼等各种事件。这些也许是很多技术人员不愿见到但却又是不得不面对的事情。那又该如何面对?这本书能给我们一些启发。

这本书中也提到了Oracle和Google之间一场历时10年的Java API侵权案,已经打到了美国最高法院,由于疫情原因,最终判决推迟到了2021年6月。Bernighan教授参与签署了一些陈述文件,作为见证者和亲历者,也给出了他的思考——认为API不该有版权。

v2-a2cb7104baaf62aa50fa04019f056a70_b.jpg


v2-100da72e42f7bb846fcf8ab08bc563ff_b.jpg


不管是Unix战争,还是Minix/Linux之争,又或是Oracle/Google之间的官司,这些事件都客观上推动了信息技术朝着更开放、更共享、更开源的方向发展。

总之,这是一本有料的、值得一读的好书,在此强烈推荐。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页