“bug”如何成了计算机术语

2023-01-06 01:31苏凯米
思维与智慧 2022年36期
关键词:飞蛾格言爱迪生

◎ 苏凯米

计算机行业一句流行格言

“It’s not a bug,it’s a feature”——中文意思为“这不是一个故障,而是一种功能”。

没人知道是哪位计算机专家首次说出了上面的这句话,但每个人都知道这句漫不经心的调侃已经成为了计算机领域中最流行的格言。每当工程师和科学家遇到硬件或软件的故障时,都不免用这句格言自嘲一下。

不过,这句格言中有一个词语显得非常奇怪,那就是“bug”。这个词的本义是指“昆虫”,如今在计算机科学中却专指“故障”,而且相应地,修复故障的工作——“调试”,也被称为“debug”——“bug”的衍生词。

那么,指昆虫的名词——“bug”,如何成为了计算机科学的术语?

爱迪生是“发明者”

早在1878年3月3日,美国发明家托马斯·爱迪生在给美国西部联盟电话公司的一封信件中写道:“你在一定程度上是对的,我确实在我的仪器中发现了一种新型昆虫(bug),但我不能叫它‘电话虫’,而应该叫它‘callbellum’,这种昆虫在所有电话呼叫装置中都能见到。”

爱迪生信中提到的这个“callbellum”并不是真正的昆虫,而是一种带有拉丁风格的幽默比喻。“call”指的是电话,“bellum”在拉丁语中是“战争”的意思。所以,爱迪生的意思是,自己正在和电话装置的故障问题做斗争。

到了晚年,爱迪生更加明确地将“故障”比作“bug”。在给好友西奥多·普斯卡斯的信中,爱迪生写道:“我所有的发明都是如此,第一步是直觉,伴随着灵感一起爆发,然后困难就出现了——这玩意产生了各种昆虫(bug),也就是五花八门的故障和小毛病。在一项发明取得商业成功或被定义为失败之前,都需要经历几个月的观察、测试和实践来寻找这些故障。毕竟,你在找房子的时候从来不会注意到蟑螂,只有真正住进去之后,它们才会暴露出来。”

广泛而漫长的推广

爱迪生越来越频繁地使用“bug”,导致这个词开始频繁地出现在科技报刊中。1892年,“bug”被正式收录进了美国工程师所编著的《标准电气词典》中,它首次成为了电气领域中的标准术语,被释义为:电器在工作或连接过程中出现的任何故障和麻烦。

到了 20世纪,“bug”这个词逐渐在科学界得到了更多的认可,而且这种用法也开始进入到日常生活中。科学家注意到,1931年的一则“Baffle Ball”(世界上第一台商用弹球机)广告,它自豪地宣称“在这个游戏中没有‘bug’”。1944年,科幻作家艾萨克·阿西莫夫也在短篇小说《抓兔子》中写道:“美国机器人必须从高级机器人中取出bug,而且那里的bug实在太多了,只要稍微测试一下就至少能找到6个。”

既然“bug”最初由爱迪生引入,而且在七十多年里由许多出色的推广者来推广,那么为何人们一说起“bug”,总会最先想到1947年的飞蛾事件呢?这就要归功于检查时发现飞蛾的那位科学家了,她就是大名鼎鼎的格蕾丝·赫柏——计算机科学的先驱、程序员的鼻祖,同时也是美国海军的第一位女将军。

1947年9月9日,赫柏小心翼翼地将那只略脆的飞蛾贴到了自己的工作日志上,兴奋地在飞蛾旁边写道:“这是首次发现的一个真正的‘bug’。”后来,这页带有历史价值的工作日志和页面上完整保存的飞蛾,被收藏在了美国史密森国家自然历史博物馆中。为了纪念赫柏以及令“bug”更加流行的飞蛾事件,世界各地都将9月9日定为了“测试员节”。每到这一天,科学家都要提醒大家,在使用计算机时,不要忘了还有测试员正不知疲倦地“搜寻”和“杀死”各种bug,他们在计算机科学中扮演的角色也很重要。

(朱权利摘自《科学之谜》/图 槿喑)

猜你喜欢
飞蛾格言爱迪生
格言
可爱的你
Trolls World Tour魔发精灵2
格言
格言
格言
飞蛾说
人人认识的爱迪生
发明大王爱迪生
发明大王爱迪生