案例库 · 软件与 IT · 技术决策 · 1947
第一只电脑“虫”其实是一只飞蛾——它教工程师先查硬件
1947 年,一只飞蛾卡在哈佛 Mark II 计算机的继电器里。格蕾丝·霍珀把它贴进日志本,‘调试’这个词也由此走红。
哈佛大学 · 美国海军 · 1947-09-09
怎么回事
1947 年 9 月 9 日,哈佛 Mark II 计算机的操作员发现一只飞蛾卡在继电器里,导致机器故障。计算机编程先驱格蕾丝·霍珀把飞蛾贴进日志本,并写下「First actual case of bug being found.」
这并不是技术故障里第一次把“bug”叫作“虫子”的例子——几十年前托马斯·爱迪生就用过这个说法——但这次成了最出名的一次。那页日志本现存于史密森学会,成了计算机史上的标志性记录,也提醒人们:再复杂的系统,也可能被最简单的物理问题搞翻车。
这件事常被当作一次“幸运的失误”——一次顺手的发现,最后进了计算机文化。但它也给出一个教训:复杂系统一出问题,先查物理层。世界上再优雅的软件,也补不上继电器里卡着一只飞蛾。硬件是地基,虫子就藏在地基里。
为什么会这样
- 一只飞蛾卡在继电器里,导致哈佛 Mark II 出故障。
- 这件事成了计算机史上最著名的“物理虫子”案例。
- 格蕾丝·霍珀的日志本条目让“debugging”这个说法流行起来。
- 这个案例提醒工程师:复杂系统失灵时,先查物理层。
代价一台停摆的机器,外加一只被贴进日志本的飞蛾侥幸躲过
教训
复杂系统一旦出问题,先查物理层。Mark II 不是被代码错误放倒的,而是被一只飞蛾卡住的。地基会藏虫子,真的是字面意义上的。
后来呢
这条日志本记录现存于史密森学会。‘debugging’一词成了软件工程里的标准说法。这个案例一直被拿来提醒人们:硬件和软件分不开,最简单的解释往往就是对的。
资料来源
- Grace Hopper — Wikipedia (Harvard Mark II, bug)
- Grace Hopper — Linda Hall Library (Scientist of the Day)
发现哪里写错了?告诉我们。
类似的案例
这家公司栽倒的地方,别处有人漂亮地解开过。 第二意见 →

Comments · 0
登录 后就能评论。