网易首页 > 网易号 > 正文 申请入驻

巨头公司避谈的秘密:“活化石”程序仍是今日数字世界的中流砥柱

0
分享至

今年早些时候,科技界迎回了一位代码界的“老朋友”——ELIZA。作为世界上第一个能进行看似有意义对话的人工智能聊天机器人,ELIZA曾令20世纪60年代中期的计算机科学家们惊叹不已。最近几十年,人们都以为ELIZA已经失传,因为其创造者、美国麻省理工学院的约瑟夫·魏岑鲍姆从未公布过他创建ELIZA时所写下的420行代码。

然而,美国斯坦福大学的杰弗里·施拉格和同事们对魏岑鲍姆的成就十分着迷,并为此成立了一个ELIZA考古项目。几年前,他们在麻省理工学院魏岑鲍姆的旧文件盒中发现了丢失的代码,为ELIZA的复活铺平了道路。

能再次与这位在人工智能历史上占据过重要地位的聊天机器人对话,不仅令人惊叹,也引出了一个令人好奇的话题:在ELIZA代码之外,今天是否还有更古老的代码片段仍在执行着某些重要任务?为此,有人启动了对于最古老代码的追踪,并发现了一些意想不到的情况:大部分古老代码远未得到ELIZA那样的尊重。总体上,企业和组织对旧代码呈现出一种奇怪的矛盾态度:一些人似乎不信任它,另一些人则对其充满信心,而几乎所有人都不愿公开讨论它。

很少被提及,从未被遗忘

对技术的追根溯源通常不难。你可以在公开资料上很快找到当今最古老却还能飞行的飞机,那是英国的一架修复后的布莱里奥11号,历史超过115年;或是世界上最古老但仍在使用的灯泡,就在美国加利福尼亚州利弗莫尔,点亮至今已有124年。但寻找仍在使用的最古老计算机代码却没这么容易。

英国数学家阿达·洛芙莱斯在19世纪40年代设计了世界上最早的计算机程序。但实际上,洛芙莱斯的程序依赖于英国数学家查尔斯·巴贝奇设计的机械计算机,这款设备却从未被制造出来,因此这段代码就从未真正运行过。

英国剑桥大学开发的电子延迟存储自动计算器EDSAC或许是世界上最早的通用计算机之一。如今,英国国家计算机博物馆的志愿者们正在制作一台EDSAC的复制品,一旦完成,它就能运行20世纪40年代到50年代发表在科学论文中的EDSAC软件,它们可能是世界上现存的最古老代码之一。

在这项工作完成前,要寻找仍在运行的旧代码,或许可在现代软件中获得线索。几乎与EDSAC投入使用同时,计算机科学家开始简化代码编写的方式,“高级”计算机语言由此问世。这些语言的结构与人类语言相似,能使编程变得更直观。多年来,世界上已开发出许多高级计算机语言,包括IBM的Fortran(1957年)、COBOL(1959年)和JavaScript(1995年)。即使某种计算机语言已不再常用,它也不会被完全遗忘,因为如今的程序往往包含着用多种语言编写的代码,这意味着用几十年前的语言编写的旧代码片段,现在仍会隐藏在常见的应用程序中。

基于这些信息,一条线索很快浮出水面——根据吉尼斯世界纪录,如今用来预订机票的网站,通常依赖美国航空公司于1960年开发的Sabre全球分销系统。这意味着,当今软件版本中的一些代码,可能比ELIZA更古老。

然而,试图联系Sabre的结果是石沉大海,发送给其他机构的联系请求,包括达美航空、美国航空、联合航空、汉莎航空和英国航空,英国银行业的“四大”——汇丰、劳埃德、国民西敏寺和巴克莱,英国伦敦劳合社和贝宝,甚至苹果、微软、惠普、德州仪器等科技公司,都没有给出任何回音。维萨(VISA)和万事达在最初似乎表现出兴趣,但最终表示无法提供帮助。

这种拒绝讨论旧代码的态度,着实让外界费解。对此,英国LEO计算机协会受托人文森特·博德斯沃斯说:“企业可能感到紧张,不愿让人注意到他们的产品中存在古老代码,因为他们不知道这些代码如何工作,以及如何维护以确保其继续运行。”LEO计算机协会是一个旨在保存英国一家已停产计算机品牌历史的公益性机构。

淡出不退出,多亏“老江湖”

寻找古老代码的难点还在于,源代码可能丢失,同时理解或修改这些代码所需的专业知识也会失传,后者可能更为常见。

LEO计算机协会的博德斯沃斯曾谈起他听到的一个故事。那是1971年英国改用十进制货币时,伦敦一家不知名的银行遭遇问题,它有一个计算机程序主要针对非十进制货币进行金融计算;但由于程序源代码丢失,因此没办法对这个程序进行修改,使其完成向十进制的切换。后来,银行并没有为重写软件而投入重金,而是简单操作,编了一段代码,将十进制的英镑、便士转换为非十进制的英镑、先令和便士,并将数值交给旧程序计算,最后再利用另一段代码,将计算结果从非十进制转换到十进制。博德斯沃斯说,这种补救措施虽然笨拙,但也算是沿用至今的古老代码。

在美国得克萨斯州,有家名为“COBOL牛仔”的咨询公司,联合创始人比尔·希恩肖早在1970年就用COBOL语言为银行ATM机写过软件。实际上,整个20世纪中叶,COBOL对企业运行至关重要;即便如今它不再是程序员的首选,但仍在一些软件中扮演着小却重要的角色。

希恩肖估计,目前有8000亿行的COBOL代码仍在运行。由于当今大部分程序员不熟悉它,熟悉它的人也大多即将退休,因此遇到问题的企业只能求助于希恩肖团队。实际上,这群“牛仔”最年轻的成员也40岁了,大多数人是六七十岁,希恩肖则是82岁。在他看来,虽然目前使用COBOL不会有问题,但十年后情况可能有变。

在理论上,代码虽不会磨损或用坏,但经过软件更新,旧代码也可能与程序其他部分不兼容。2024年7月,网络安全公司CrowdStrike在更新软件时出现故障,导致全球机场、医院和银行的数百万台计算机瘫痪。好在他们很快识别故障,推出新的更新,让大多数计算机在几小时内恢复运行。但是,假如故障涉及一种只有少数程序员才懂的旧代码,修复就会困难得多。

鉴于这些担忧,科技公司不愿讨论旧代码也算合乎逻辑。另外,他们偶尔也会从现代软件中删除旧代码,最著名的例子是25年前的“千年虫”——当时为避免千禧之交全球的计算机因为难以区分2000年和1900年而大量崩溃,经过一场紧急行动,旧代码被强行移除。

旧代码悖论,关键是有效

在一些极端重要的软件中,旧代码迄今仍很活跃。

Perl基金会主席斯图尔特·麦金托什说,2024年发布的最新版本Perl,包含了1987年首个版本的代码片段。由于Perl支持亚马逊网络服务,因此所有亚马逊网络服务的用户,都会用到这段有着近40年历史的代码,其中包括苹果公司,以及美国航空航天局、中央情报局,英国军情五处和军情六处等重要组织。

还有一些现代软件,会用到更古老的代码。比如负责发行开源操作系统Linux一个版本的软件公司红帽(Red Hat)。该公司的迈克·麦格拉思表示,许多版本的Linux都包含一条名为“缩进”的命令,该命令所用的代码能追溯到1976年,这也意味着在人工智能和云计算时代,人们仍在使用近50年前的代码。

麦金托什说,旧代码能延续下来的原因很简单——有效。尽管人们一直担心旧代码可能与新代码不兼容,但事实上,许多旧代码几十年来运行良好。这甚至在业内催生了一种矛盾的现象:软件工程师越来越怕旧代码出故障,但同时,他们也越来越相信旧代码有能力持续保持可靠和准确。

航天业是最好的例证。欧洲航天局计算机系统工程师詹姆斯·埃格尔斯顿表示,太空任务的设计、建造和发射成本极高,有些卫星价值数十亿美元,因此倾向于使用可靠的旧代码,而非冒着风险用可能出问题的新代码,因为一旦搞砸,航天器就会报废。

有些仍在使用的古老代码可能不在地球上,甚至不在太阳系——距地球超过200亿公里的“旅行者”号探测器,如今可能仍在运行着与1977年发射时几乎完全相同的软件。一位匿名航天内部人士透露,美国航空航天局偶尔会聘请上年纪的程序员,让他们维护或修改面向旧任务的晦涩代码,这类似于希恩肖为保险公司和银行所做的。

但航天业似乎也不愿讨论对旧代码的依赖。美国航空航天局并未回应相关采访请求。埃格尔斯顿也承认,欧洲航天局对他接受采访的想法持谨慎态度,主要是担心航天局使用旧代码,可能误导人们认为其太空任务不值得资助。

那么,仍在运行的最古老代码究竟在哪里?目前唯一能做的可能只剩下猜测。博德斯沃斯认为,在某间政府办公室的一台古老计算机上,它可能正悄然运行,年复一年地执行着相同的任务。尽管旧代码在未来某一天终究可能出现故障,但谁也说不准那会是多久以后,而且实际上,每个人都乐见它继续稳定运行。

“我们正处于数字革命的最初阶段。展望500年后,我们也许仍会在与今天相同的基础上进行建设。”麦金托什说。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
湖南一男子临近下班到银行柜台欲取1500元零钱,被告知运钞车已运走现金无法办理,男子起诉银行违约,法院:驳回,属于合理经营安排

湖南一男子临近下班到银行柜台欲取1500元零钱,被告知运钞车已运走现金无法办理,男子起诉银行违约,法院:驳回,属于合理经营安排

台州交通广播
2026-09-19 01:01:10
旧金山男子花$6000买路边广告牌,假装是AI聊天机器人,结果天天干到凌晨

旧金山男子花$6000买路边广告牌,假装是AI聊天机器人,结果天天干到凌晨

北美省钱快报
2026-09-19 05:48:59
假如西贝真的彻底倒闭......

假如西贝真的彻底倒闭......

谭浩俊
2026-09-19 22:43:09
20分惨败日本创2大耻辱!李根撂话:我要在场高低撂倒1个,下次加倍奉还

20分惨败日本创2大耻辱!李根撂话:我要在场高低撂倒1个,下次加倍奉还

足球评论大家谈
2026-09-19 08:49:45
7万亿砸向“六张网”,下一轮基建机会在哪

7万亿砸向“六张网”,下一轮基建机会在哪

吴晓波频道
2026-08-10 17:05:27
太“下流”了!山东家长怒斥课外书《狼王梦》中描写母狼哺乳的文字,认为内容不适合小学生阅读,引发争议

太“下流”了!山东家长怒斥课外书《狼王梦》中描写母狼哺乳的文字,认为内容不适合小学生阅读,引发争议

火山詩话
2026-09-19 21:32:31
费城恐怖屋 82翁死后搜出百万不雅影像 58名女受害者中5人恐已身亡

费城恐怖屋 82翁死后搜出百万不雅影像 58名女受害者中5人恐已身亡

环球趣闻分享
2026-09-19 14:10:10
陪睡陪玩只是开胃菜,舔手指塞拳头、集体嫖娼、背后的事藏不住了

陪睡陪玩只是开胃菜,舔手指塞拳头、集体嫖娼、背后的事藏不住了

北海史记
2026-08-12 19:57:54
“这颜值,放艺术生里也是顶级!”家长晒素颜大一女儿哭鼻子火了

“这颜值,放艺术生里也是顶级!”家长晒素颜大一女儿哭鼻子火了

世界圈
2026-09-15 15:50:08
2026款奥迪Q5曝光,150kW配6.1L油耗,比老款省15%挺实在

2026款奥迪Q5曝光,150kW配6.1L油耗,比老款省15%挺实在

娱乐圈的笔娱君
2026-09-20 06:05:12
“中国人不来也没关系”?打脸了!

“中国人不来也没关系”?打脸了!

环球时报国际
2026-09-17 17:15:36
万安旋风席卷高雄!六合夜市挤爆,蒋万安陪柯志恩走1小时才过半

万安旋风席卷高雄!六合夜市挤爆,蒋万安陪柯志恩走1小时才过半

新时光点滴
2026-09-20 04:44:00
梅毒,又杀回来

梅毒,又杀回来

南风窗
2026-09-18 15:39:49
伊朗民兵组织要组建千个“抵抗营”,3100万人报名,超三成为女性!伊朗军方悬赏捉拿入侵美军,女性执行赏金翻倍至6万美元

伊朗民兵组织要组建千个“抵抗营”,3100万人报名,超三成为女性!伊朗军方悬赏捉拿入侵美军,女性执行赏金翻倍至6万美元

每日经济新闻
2026-09-19 18:02:21
真的有人喜欢微胖吗?一个人的时候,常常会感到不自信

真的有人喜欢微胖吗?一个人的时候,常常会感到不自信

娱你同欢
2026-07-31 23:28:29
曾红遍两岸的一代歌王!执意走上 “台独” 道路,如今落得家破人

曾红遍两岸的一代歌王!执意走上 “台独” 道路,如今落得家破人

锅锅爱历史
2026-09-20 01:42:18
35岁前英超球星泰国热身,被压场滚轮从腿上碾过

35岁前英超球星泰国热身,被压场滚轮从腿上碾过

日常碎碎念啊
2026-09-20 06:28:22
周涛与前夫姚科未离婚之前的一张合影照,儒雅的姚科,终究留不住周涛

周涛与前夫姚科未离婚之前的一张合影照,儒雅的姚科,终究留不住周涛

南万说娱26
2026-08-22 08:56:48
邮报:前英格兰边锋汤森德泰国热身险遭滚压机碾过

邮报:前英格兰边锋汤森德泰国热身险遭滚压机碾过

懂球帝
2026-09-20 07:03:33
姆巴佩场场在进球,阿尔瓦雷斯专克皇马:这场马德里德比,两条锋线都带刀

姆巴佩场场在进球,阿尔瓦雷斯专克皇马:这场马德里德比,两条锋线都带刀

风景这独美
2026-09-20 06:45:21
2026-09-20 07:16:49
文汇报 incentive-icons
文汇报
华语世界高品质人文阅读平台
289059文章数 310238关注度
往期回顾 全部

科技要闻

要走650亿,智谱的理想越来越贵

头条要闻

男子拿10多个西瓜连砸摊主头部 最新进展:赔偿了近7万

头条要闻

男子拿10多个西瓜连砸摊主头部 最新进展:赔偿了近7万

体育要闻

2026亚运会开幕式 胡明轩吴愉担任旗手

娱乐要闻

甜度爆表!许嵩冯禧晒婚纱照官宣结婚

财经要闻

江西首富破产:一张927万商票压垮千亿帝国

汽车要闻

大块头的从容 红旗G919如何兼顾豪华与越野能力

态度原创

房产
健康
艺术
本地
军事航空

房产要闻

海口房价,降不动了!

脑动脉瘤的治疗方法,该选哪一种?

艺术要闻

国宝级!石涛书画全集大公开,搜尽奇峰打草稿,这才是中国画天花板!

本地新闻

中秋逛白塔寺,体验国医妙荟雅集

军事要闻

特朗普再称对伊朗战争将很快结束

无障碍浏览 进入关怀版