岁还嗖嗖改代码的命名人他说解决问题全靠拖

深度 | 2022-08-30| 106
岁还嗖嗖改代码的命名人他说解决问题全靠拖

今天,《Linux三剑客》中的一个很老的工具突然出现在GitHub当日热榜:

——这其实是因为80岁的原作者更新了。

是的,你没听错,有人80岁了还在改代码!

这位大神是加拿大计算机科学家-Brian middot;科恩(布莱恩·克尼根)。

与比尔盖茨同名,Java之父,Python之父等。,他开创了“Hello World”范式,让每一个学习编程的学生都为之冒烟:

不管学什么语言,第一个程序就是学会输出。

printf("Hello World!");

cout lt lt“你好世界!”;

打印“Hello World!”

……

此外,他还是第一本C语言编程书籍的作者之一;他也是Unix系统的早期开发者和awk(Linux和Unix中的文本数据处理工具)的共同创造者。

如今老人已白发苍苍,仍活跃在“一线”—

今年5月,在AWK的GitHub仓库中,老人提交了一个新的pull请求,该请求为AWK添加了从未有过的Unicode支持。

对此,网友的态度是这样的:

是什么让这个大个子常年保持对编程的热情?

免费进入贝尔实验室

事情还得从科林汉姆的大学时代说起。

科恩1942年出生于加拿大,本科在多伦多大学学习工程物理。

他形容这是为那些不知道自己想学什么的人开设的“大杂烩”专业,但幸运的是,他大一就对编程产生了兴趣,并学习了Fortran。

那时,计算机的发展还处于初级阶段。他直到大三才看到学校里唯一的晶体管电脑:IBM 7094。

因为太贵了(价值300万美元),学生没有机会接触。

可见当时工具匮乏,学编程的Colin Han只是读了Daniel middot麦克拉肯的代表作获得了“丰富”的理论知识,实际上并没有写过一行代码

有一年暑假,我不知道他是怎么在石油公司实习的。任务是用COBOL语言为炼油厂开发优化软件。

由于他对这种语言不熟悉,也没有编程经验,最终没有写出一个像样的程序。

虽然遭受了一点挫折,但他对编程的热情并没有退却,他回到学校继续他的研究。

大四毕业后,科林汉姆决定继续深造,并获得了麻省理工学院和普林斯顿大学的录取通知书。

因为在麻省理工完成博士学业需要7年时间,而且他需要每周做30个小时的研究助理,而普林斯顿只需要3年,并且提供全额奖学金,而且因为他的好朋友就在普林斯顿,所以他毫不犹豫的选择了后者。

在普林斯顿大学,科林汉姆主修电子工程,因为当时没有专门的计算机系。

这丝毫没有阻止他前进的脚步。

读博期间,他先在麻省理工学院实习,并有幸被Fernando middot授予图灵奖;费尔南多·考伯特 oacute)在门下工作,为一个叫Multics的分时操作系统项目写代码。

第二年夏天,他在贝尔实验室实习,在那里他编写汇编语言。

为了方便Fortran程序中的列表处理,他还编写了一套函数库,他形容这些函数库“非常令人愉快”。

转眼博士毕业,科林汉姆直接留校当老师,没有任何面试和展示研究成果就成为贝尔实验室的正式成员,足以看出他的优秀。

他与Unix的关系由此开始。

Unix由命名

我们大部分的服务器、手机系统、物联网系统基本都是基于Unix的。

三大系统之一的Linux也是一个类Unix系统。可以说Unix是现代操作系统的源头之一。

令人惊讶的是,如此重要的操作系统的初始版本是由后来的图灵奖得主肯·汤普森(Ken Thompson)在短短三周内完成的。

Unix当时还被称为UNICS(统一信息和计算系统),后来被Colin Han改为现在的名称。

Unix中有一个核心工具,叫做AWK,科林·韩是它的发明者之一(名字中的“k”代表他)。

作为一种文本处理语言,AWK只是过滤和转换文本行,但它已经成为Unix/Linux平台上最强大的数据处理引擎之一。

在Linux系统中,它与grep、sed命令一起被称为“三剑客”,占据“老大”席位。如果掌握了,可以处理6个小时的日常操作。

时至今日,《AWK》已分为三个版本,至今仍深受人们喜爱。它在诞生45年后仍未“退休”。

除了AWK,科林汉姆还发明了AMPL,一种用于描述和解决大规模复杂数学问题的建模语言,支持世界上大多数求解器。

他还促成了编译Ratfor、文件准备预处理程序Pic、Grap和数学排版语言Eqn等重要研究成果。

除了写代码,科林汉姆热爱写书,也出过不少经典作品。

比如想了解Unix的历史,可以看《Unix传奇》。作为参与者和见证者之一,他写的这本书可以让专业技术背景不够的人领略Unix的思想。

Unix图例

文章开头提到的“Hello World”范式来自于他和C语言之父Dennis middotc编程语言,丹尼斯·里奇合著的开山之作。

比如柯林厄姆的第一本书《编程风格的要素》(《编程风格》)就留下了一个以他命名的定律——柯林厄姆定律,即:

调试一段代码的难度是编写代码的两倍。按照这个定义,如果你的代码写得很熟练,你可能没有足够的能力去调试它。

与复杂代码相比,简单代码更可取。因为在调试复杂代码的过程中,任何问题都会很难甚至无法解决。)

解决问题靠拖延?

那么,柯林厄姆本人是一种什么样的人格呢?

2021年程序员面试他的时候,问了他这个问题:

Ken在3周内创建了Unix,Doug在几天内提出了“管道”的想法。你的高效率有什么小技巧吗?

(以上两位都是他在贝尔实验室的同事)

对此,科林连连摆手:

他们是“别人的程序员”。我从来没有这么高效过!

老人说,遇到新问题,他的解决方法通常简单粗暴,就是尽量拖延,祈祷问题消失,或者祈祷问题自己解决

这种形而上学的方法本身不能解决问题,但这样做,柯林厄姆有足够的时间来消化问题,然后想出对策。

而且,他其实会选择直接解决问题。

今年1月1日,科林汉姆刚刚庆祝了他的80岁生日。

上个月油管频道Computerphile采访他,大家都知道老头还在改代码

科恩说,没有一种计算机语言或工具是万能的,AWK也不例外。

以前,AWK只适用于ASCII或8位输入,不能处理Unicode(统一码)。

图来源Youtube频道Computerphile视频

几个月前,科林汉姆花了一些时间折腾AWK他称之为“一个非常古老的程序”——现在awk可以处理UTF-8的输入和输出

现在用户可以用正则表达式提取日文字符之类的。

视频中,科林汉姆也顺口说了一句。他修补了一些“快速和肮脏”的东西,以便AWK可以处理CSV文件。

图来源Youtube频道Computerphile视频

整个采访过程中,老人依然健谈,精神面貌还不错。

说到这里,他精神抖擞。他还有什么理由要改变几十年的“老程序”?

科恩的回答是这样的:

今天的计算环境和三四十年前有很大不同,内存量大大扩展。“这将改变你对AWK的看法,尤其是AWK不能参选的部分”。

于是,老头一直在后台偷偷玩新版的AWK,目的是尽可能的扩大,让AWK更容易练习和使用

其实这是柯林厄姆一贯的行为准则。在此之前,他在播客中说:

如果你做了一些能帮助自己和改善他人工作的事情,为什么不呢?

有趣的是,世界上没有万能的工具或通才。老人自己也承认自己的bug是,没有完全理解如何使用Git

所以他只能通过电子邮件将更改发送给当前的维护人员。

塔克林厄姆的邮件

网友:黑客永不退休

80岁了,还得修改几十年前写的代码。这位程序员标王的故事再次引起了网友的关注。

AWK自出现以来一直很受欢迎。看到AWK在今天依然可以被改善,变得更强大,很多人都很尊重这位老人挖掘代码的热情。

有网友对老人表示感谢。

也有人认为,不断努力改善程序员写代码的环境,是一件非常令人鼓舞的事情。

当然,玩梗的人是少不了的。

黑客永不退休!

还有一点

最后,让我们回到“你好,世界”。

事实上,这句“万物之始”最早出现在1974年科林汉姆写的《C语言编程:教程》中,后来被纳入那部经典。

两位作者在本书中形成的写作风格也被称为 k R风格 (k R指克尼根和里奇)。

有趣的是,科林汉姆说他强迫丹尼斯写这本书。

至于为什么选择用“你好,世界”而不是别的什么,科林汉姆自己也记不清了。

在接受《福布斯》杂志采访时,他模糊地回忆道:

可能是因为看了一部动画片,里面有一个鸡蛋和一只鸡。鸡说,你好,世界!

超过

标签:, ,

相关推荐

iQOO Z9 Turbo评测:有旗舰级游戏性能的中端机

iQOO Z9 Turbo评测:有旗舰级游戏性能的中端机

今天小编来为大家带来的是iQOO Z9 Turbo评测:有旗舰级游戏性能的中端机让我们一起往下看看吧!

深度 2 2024-04-25
热搜第一!这500万粉女网红,骚操作太过分了

热搜第一!这500万粉女网红,骚操作太过分了

今天小编来为大家带来的是热搜第一!这500万粉女网红,骚操作太过分了让我们一起往下看看吧!

深度 2 2024-04-25
周鸿祎雷军缠斗30年:昔日冤家对头,今日造车友商

周鸿祎雷军缠斗30年:昔日冤家对头,今日造车友商

今天小编来为大家带来的是周鸿祎雷军缠斗30年:昔日冤家对头,今日造车友商让我们一起往下看看吧!

深度 2 2024-04-25
联想王立平:联想全新升级“4311”合作伙伴战略,持续践行合作共赢战略

联想王立平:联想全新升级“4311”合作伙伴战略,持续践行合作共赢战略

今天小编来为大家带来的是联想王立平:联想全新升级“4311”合作伙伴战略,持续践行合作共赢战略让我们一起往下看看吧!

深度 2 2024-04-25
华为Pura 70 Pro+卫星图片功能实测:AI是秘密武器

华为Pura 70 Pro+卫星图片功能实测:AI是秘密武器

今天小编来为大家带来的是华为Pura 70 Pro+卫星图片功能实测:AI是秘密武器让我们一起往下看看吧!

深度 2 2024-04-25
28天锁单超7万台!雷军公布小米SU7成绩:从围剿中杀出重围

28天锁单超7万台!雷军公布小米SU7成绩:从围剿中杀出重围

今天小编来为大家带来的是28天锁单超7万台!雷军公布小米SU7成绩:从围剿中杀出重围让我们一起往下看看吧!

深度 2 2024-04-25
联想全新发布联想昭阳AI PC、智慧教育大屏等10余款商用AI终端

联想全新发布联想昭阳AI PC、智慧教育大屏等10余款商用AI终端

今天小编来为大家带来的是联想全新发布联想昭阳AI PC、智慧教育大屏等10余款商用AI终端让我们一起往下看看吧!

深度 3 2024-04-24
苹果新品定档!一切硬件升级都向智能化看齐

苹果新品定档!一切硬件升级都向智能化看齐

今天小编来为大家带来的是苹果新品定档!一切硬件升级都向智能化看齐让我们一起往下看看吧!

深度 3 2024-04-24
和华为合作只是“配菜”,自研技术才是岚图的杀手锏

和华为合作只是“配菜”,自研技术才是岚图的杀手锏

今天小编来为大家带来的是和华为合作只是“配菜”,自研技术才是岚图的杀手锏让我们一起往下看看吧!

深度 3 2024-04-24
“技术宅”百度,不想继续做智驾“小透明”

“技术宅”百度,不想继续做智驾“小透明”

今天小编来为大家带来的是“技术宅”百度,不想继续做智驾“小透明”让我们一起往下看看吧!

深度 3 2024-04-24
微信二维码