写点什么

有没有什么上古的程序代码至今依然没被更替?

用户头像
极客时间
关注
发布于: 2020 年 05 月 08 日
有没有什么上古的程序代码至今依然没被更替?

很有意思的话题,看到这个话题第一眼我脑海中浮现这样一幅画面:

 

一位白发苍苍、走路颤颤巍巍的老爷子,步履蹒跚地爬上阁楼,艰难地翻出一本页已泛黄的厚厚的书,慢慢拂去上面沉积多年的尘埃,故事就这样开始了。

 

很久很久以前,西方资本主义国家发明了程序、代码用以发展科技。所以,至今依然没被更替的上古程序代码,本文举两个骨灰级程序做代表。

 

MOCAS





公开资料能查到的、公认的、最古老的、目前仍在运行的计算机程序是 MOCAS,读音:猫卡斯。

 

1958 年,美国国防部推出了一套电子合同管理系统,该系统被称为机械化合同管理服务(Mechanization of Contract Administration Services),即 MOCAS。 该系统旨在使用最新的计算和输出技术(也就是计算机技术)来跟踪进行中的合同和供应商的付款。

 

62 年后的今天,它仍在运行。

 

MOCAS 由 COBOL 编写,它刚刚设计出来的时候,交互只能通过打孔卡来进行。可想而知,那个年代,存储设备还很原始,毕竟连软盘也是在 13 年后的 1971 年才由 IBM 发明出来。

 

啥是打孔卡?下面就是一张打孔卡的图片:

 



你可能会问,既然还在运行,如果想要使用的话,还是要通过打孔来交互么?

 

当然不是,美国国防部后来开发了一套新的用户界面来连接 MOCAS,这也就是为什么这套系统还能运行。据说这套系统现在已经集成了很多其他的软件包,这也让它更不可替代。

 

所以,维护这套系统的程序员是不是可以世袭了?他们写代码的时候应该不能简单的 Ctrl+C、Ctrl+V 吧,而且社区也不是很活跃,只能寄希望于文档完善了。

 

我之前分享过一篇“千年虫”的文章,不知道 MOCAS 是怎么躲过的千年虫危机。

 

Apollo-11





阿波罗 11 号(英语:Apollo 11)是美国国家航空航天局的阿波罗计划中的第五次载人任务,是人类首次登月任务,历时 8 天 13 小时 18 分 35 秒,绕行月球 30 周,在月表停留 21 小时 36 分 20 秒。还记得那句著名的“这是我个人的一小步,人类的一大步”吗?就是出自这个任务中的指令长阿姆斯特朗之口。

 

在Github 上搜索“Apollo 11”,你就会找到阿波罗 11 号制导计算机(AGC)中指令模块(Comanche055)和登月模块(Luminary099)的原始代码。AGC代码其实早已公之于众,最初是由技术研究员罗恩·伯基(Ron Burkey)在 2003 年上传到网络。他根据 MIT 在网上发布的原始硬拷贝的扫描件进行了转录,也就是一行一行地手动打出来。

 

下图为阿波罗登月计划软件工程主管玛格丽特·汉密尔顿(Margaret Hamilton),旁边是与她著作等身的 AGC 代码文件。何其震撼,尤其是在那个年代。

 



闲来无事可以翻翻 AGC 源码,用它学习编程的话就算了,毕竟是这种汇编类的语言,比较晦涩,不过看看几十年前的程序员写的注释,还是很幽默的。这里随便摘几段,和大家一起品读一下有趣的灵魂。

 

拜拜,下次再来哟。

 



搞定了么?搞定了,所以,返回吧。

 



临时的,临时的,临时的。

结果,却一直临时到了现在。

 



更多有趣的内容,大家可以自行去翻看源码发掘。

 

到如今,写下这些代码的程序员,应该都是老爷爷/老奶奶了吧。没想到在代码里竟然看到了岁月的痕迹与时间更替的沧桑感。

 

总结

好了,关于至今依然没被更替的上古程序代码,本文就先和大家分享这两个。

 

在查资料的过程中,笔者深深震撼于前辈们对计算机世界所做的贡献,用堪称简陋的工具敲出传世的代码。在开发工具越来越发达的今天,撸码效率高了,但对于大部分程序员来说搬砖更多的只是为了赚钱,敲代码变成了一个糊口的技能而已。

 

我们是不是该偶尔停下来,扪心自问,我那有趣的灵魂而今在何处?

 

祝大家搬砖顺利。

 

编辑 | Bottle



发布于: 2020 年 05 月 08 日阅读数: 70
用户头像

极客时间

关注

极客时间,一种新的学习方式 2018.10.30 加入

面向 IT 领域的知识服务产品,通过好内容、好产品、好服务,帮助用户轻松学习、高效学习。 APP/ 公众号 / 微博 / B站 / 知乎 :@极客时间

评论

发布
暂无评论
有没有什么上古的程序代码至今依然没被更替?