21CTO导读:Unix联合创始人柯林汉分享对当今软件开发世界的看法。
知名的技术作家、Unix联合创始人布莱恩·柯林汉(Brian Kernighan)近日分享了他对当今软件开发以及计算机语言世界的看法。
他看到一部分人们正在从 C 语言转向内存更安全的编程语言,Linux 现在有着数百个发行版,而 Unix 的后代却在为每一部手机提供着支持。
到这里有的朋友会想,这位老先生是不是早就退休享受天伦之乐了,其实并不然。
“我还在普林斯顿大学教书,”83岁的布莱恩·柯林汉在新泽西州沃尔市的信息时代科学与历史博物馆对观众说。“我还没有退休哦!”
除了以有趣且令人怀念的方式回顾操作系统创新的辉煌岁月之外,柯林汉分享了他对当今世界的看法,当今世界正从 C 语言向内存更安全的编程语言转变,Linux 有数百个发行版,而 Unix 的后代几乎为每一部手机提供支持。
“我会尽量让这次演讲变得轻松随意,”柯林汉向听众承诺说,并花了近半个小时回答人们的问题。
除了信息丰富、见解深刻之外,很明显地,柯林汉和他的观众都觉得很开心。
下面,可能是开发者一个值得铭记的时刻。
“你认为 Rust 取代 C 有什么优势吗?”一位观众这样问道。
“或者这只是一个急等消退的巨大炒作泡沫?”
在这个多年来一直在认真向内存更安全语言过渡的世界里,来自半个多世纪以来长期支持 C 语言的人士的话有望成为标志性的答案。
“哦,Rust,”柯林汉长声应道,却也引得观众大笑。
他这样说:“我只写过一个 Rust 程序,所以你应该对这一切持保留态度。我发现这很痛苦……我根本无法理解在一个内存根本不是问题的程序中实现内存安全所需的机制!”
他对 Rust 最大的抱怨似乎是它的性能,这对于一个职业生涯早期从 16 位 PDP 11/20 开始的人来说,这是一个特别严厉的抱怨。
PDP 11/20小型机
谈到 Rust,柯林汉如此说道:“与之配套的支持机制——例如编译器、代码,还有诸如pain、mechanisms等它自己的特别概念——但实在是太大太慢了,难以理解。”
“它的编译器很慢,生成的代码也很慢……”
总而言之,柯林汉的体验很糟糕。“当我试图弄清楚发生了什么事时,发现语言已经又变了,跟上次有人发布描述的时间差太远了!所以,我花了好几天才写出一个程序,而用其他语言写的话,可能只需要五分钟……”
这是他唯一一次使用Rust语言的经历,因此柯林汉也承认说,当谈到 Rust 时“我可能过于愤世嫉俗了。
“但我——无论如何,我不认为它会立即取代 C。”
观众哄堂大笑,柯林汉也露出会心的一笑,然后假装对这个拥有多个类Unix 操作系统发行版的新世界感到很天真。他说:“那是个什么词汇?!”
但随后他坦诚地说,虽然他用的是 Mac,但只是为了打开一堆终端窗口,“用于访问普林斯顿大学计算机科学系正在运行的 Linux 系统。我甚至不知道它是什么。所以,呃——抱歉!我帮不上什么忙。”
下一个问题似乎深深地扎根于那些被遗忘的编程语言的传说里。
有人这样提问柯林汉:“鉴于您在 C 语言方面的先驱地位,您是否熟悉其衍生语言‘Holy C ’?”
Holy C是已故的 Terry A. Davis为其自主研发的“圣经主题级”操作系统 TempleOS编写的 C 语言的一个奇特变体。HolyC(将源代码与 x86_64 汇编代码混合)仍然可以编译成 x86_64 汇编代码。
观众接着哄堂大笑,柯林汉也笑着说:“简而言之,不知道。” 但“更详细的答案是:这首歌会出现在像“墙上 99 瓶啤酒”这样的网站上吗?”(这是个运营了十几年的网站,展示了歌词,并将以 1500 种不同的编程语言打印出来——但可惜的是,HolyC 并不在其中。)
当另一位提问者问柯林汉对软件包管理器 Nix和NixOS发行版的看法,似乎一个规律双浮现出来。“天哪,这又是一个我从未听说过的发行版,”柯林汉笑着说。
他后来澄清说:“我想我听说过,但我对此一无所知,所以我无法给你答案。”
在演讲中,柯林汉深情地回忆了当年贝尔实验室的整体环境,称其充满合作、友爱和乐趣......“和这些人一起玩耍非常有趣。”
柯林汉回忆贝尔实验室的时光
但他也深深记得,当微软的 Windows出现后,整个科技世界发生了变化,“大量的精力、焦点和人才开始转向 PC 世界……” 柯林汉回忆道,“一些好的想法和人才在某种程度上——甚至可以说是大量——从 Unix 中流失了。” 而且“更加注重交互”,因为微软制造的是消费产品(并非面向“技术人群”),
不过他也提醒观众们,当时世界见证了 Linux 的发展,“这让 Unix 的遗产得以延续。”
接着,有人问他对如今 Unix 的消费化有何看法?
这又是一个特别的问题,因为 Mac/iPhone/iPhone 用户在不知情的情况下就使用了它的衍生版本——而且“与最初的免费开源理念相去甚远”。
“我认为你说到了点子上,” 柯林汉回答道,“当你说大多数人都不知道这一点时……”
他这样指出,iPhone 运行的是“经过相当长时间演变的 Unix 版本”,而 Android 手机“则运行着一种不同风格的 Linux……我认为,从我的角度来看,作为一个早期参与其中的人,并且拥有一部手机,我发现这很有趣。
“而且我也发现有点恼火,因为底层有一个系统,我可以用它做事,但我却无法访问它!”
观众再次大笑并为他鼓掌……
一位提问者指出,柯林汉“实际上一直参与软件的商业化进程”。但这也意味着,他也亲眼见证了软件的商业化和“产品化”。
有人继续问:“您对当今软件的现状有什么看法吗……?
提问者补充道:“如果可以的话,10 个字或更少!”。柯林汉狡黠地笑了笑,他的观众们也笑了。
“很多事情都糟透了……!”他说道,引来观众的热烈掌声。“不幸的是,这些都是真的。”
然后他又对提问者补充道:“我可以详细说明一下。但也许在线下……”
在他的演讲中,柯林汉说过,Unix 的遗产之一就是“编写程序的程序”。
编译器会创建汇编语言……?那是用程序来编写程序……一旦你搞定了,编写程序的程序就能做得很好。它们通常比人类做得更好。
但听到他大声说出这些话,他很快又补充了一句:“我将略过大语言模型的现状……”观众哄堂大笑,他继续说道:“因为我在这方面的几次尝试,在某种程度上已经证明了我刚才说的无效!”
当演讲接近尾声时,有人又向柯林汉请教,对未来几代程序员有什么建议。
这个问题他之前就被回答过,而他的第一反应是承认:“这个问题的答案——真正的答案是‘我不知道’。”
当然,他还有更多话想说。这位Unix先驱深思熟虑的回答中亦充满着肯定。
柯林汉说:“我认为,以实用形式存在的、可以用它们做事的计算机,它们会伴随我们很长很长一段时间。”
“大多数人可能并没有真正意识到,他们的行为在多大程度上是由运行在通信系统硬件上的软件控制的。但如果你从事这些工作,就会明白这一点。我认为这会让你在未来的一段时间里找到更有趣的工作,而且很可能真的能找到新工作。”
他还有一件事补充,他想再次告诉开发者、程序员们。
柯林汉如此告诉观众们说:
“如果有些东西让你兴奋,那就去做。好不好……?我觉得你可以做那种事,而且你可以玩得开心,你或许还能以此谋生,享受你所做的事情吧!”
“我始终认为,做你觉得有趣的事情才是正确做法。”
作者:洛逸
参考:
https://youtu.be/WEb_YL1K1Qg?si=ZfHpBj9_P9HpN8S2
本篇文章为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。