Bug一词指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题。但是Bug一词是如何由来的呢,昨天翻了翻《软件调试》发现里面记述了这样一个有趣的故事
时间是在20世纪40年代,当时的电子计算机都还非常庞大,数量也非常少,主要用在军事方面。1944年制造完成的Mark I,1946年2月开始运行的ENIAC和1947年完成的Mark II是其中赫赫有名的几台,Mark I是由哈佛大学的Howard Aiken教授设计,IBM公司制造的,Mark II是由美国海军出资制造的。与使用电子管制造的ENIAC不同,Mark I和Mark II主要是使用开关和继电器制造的。另外,它们都是从纸带或磁带上读取指令并执行的,因此,它们不属于从内存读取和执行指令的存储程序计算机(stored-program computer)。
1947年9月9日,当人们测试Mark II计算机时,它突然发生了故障。经过几个小时的检查后,工作人员发现了一只飞蛾被打死在面板F的第70号继电器中。当把这个飞蛾取出后,机器便恢复了正常。当时为Mark II计算机工作的著名女科学家Grace Hopper将这只飞蛾粘帖到当天的工作手册中,并在上面加了一行注释,“First actual case of bug being found”,当时的时间是15:45.随着这个故事的广为流传,越来越多的人开始使用Bug一词来指代计算机中的设计错误,并把Grace Hopper上登记的那只飞蛾看作是计算机里上第一个被记录在文档中的Bug.