你知道为什么程序中的缺陷叫bug吗?这里其实有一段有趣的历史

简评:别幻想了,就算看完这篇文章,Bug 依旧不会少,就算没有了 Bug,还会有 Aug,Cug。。。

Bug 这个词儿从原本的「虫子、臭虫」成功晋级为程序错误,也一并成为了程序员心中永远的痛。(程序员:????)

图0:程序的错误叫 Bug,这个梗是怎么来的?
                                  (网图,侵删)

今天文章比较短,简单聊聊 Bug 梗(估计很多人知道)。

资料记载,在 1870 年的时候,爱迪生就说过电路的故障可能是 bug 引起的,不过当时还没有电脑这个概念,所以不延伸。而明确在计算机领域引用 Bug 这个词的,是上一篇文章「编程语言是如何诞生的?」的女主角 — Grace Murray Hopper 姐姐。

她不但发明了编译器,还在计算机领域制造了 Bug 这个词。(当时这个词是用来甩锅的 -.-)

图1:程序的错误叫 Bug,这个梗是怎么来的?
         (图中唯一的女性就是 Grace Hopper,照片上是世界上第一批正经写程序的人)

事发时,人们还在使用第一代真空管计算机,这种计算机依靠控制电流来改变开关,从而实现控制,但是发出大量的光和热。当时使用的计算机名为 Mark II。

图2:程序的错误叫 Bug,这个梗是怎么来的?

题外:Mark 系列原名 ASCC (Automatic Sequence Controlled Calculator), 由哈佛大学与 IBM 合资建造。完成于 1943 年,重 35 吨,内部线路长达 500 英里。

但是在 1944 年的 Mark I 启用典礼之后,IBM 和哈佛就闹翻了,原因是哈佛认为 IBM只是个出钱的财主,主要的智力贡献是哈佛人的功劳,IBM 认为自己也在工程上做了许多研究和创新,而哈佛却认为那些工程上的创新都不值一提。 所以 IBM 就从哈佛的Mark计划中退出。后来的十年间,IBM 在学术界的主要合作伙伴,变成了哥伦比亚大学。

—— 出自:Grace Murray Hopper 小传

回到正题。

在 1949 年 9 月 9 日,一只虫子(bug)被载入了计算机史册。

那天的天气很热,在一间一战时建造的老建筑物内,没空调,工作人员把窗户都打开了,后来有一只蛾飞了进来(可能被光吸引),结果那只蛾死在 70 号继电器里面,造成电路不通,机器死机,他们没办法算出他们要的结果。

经过了近一天的检查,Grace 找到了那只蛾,她设法用她的发夹把那只蛾弄了出来,还把那只蛾的尸体贴在她的管理日志上,上面写道:「就是这个Bug,害我们今天的工作无法完成。」

自此之后,大家都知道了如何应付老板:每次老板问为什么还没做好,没有数据的时候,大家都把错误推给小虫子 Bug。(现在你试试)

图3:程序的错误叫 Bug,这个梗是怎么来的?
                            (图片出自:美国国家历史博物馆)

在这之后,在计算机科学中,Bug 从虫子变成了程序的错误,而 Debug 也从除虫变成了修复错误。

本文文字及图片出自 www.jianshu.com

你也许感兴趣的:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注