早在计算机和计算机软件出现以前,bug这个用来描述意外缺陷的术语就是工程领域用了几十年的行话了。
Bug可能最初用在硬件工程方面用来描述机械故障。例如,托马斯•爱迪生在1878年在一封信中写下了如下的句子:
我所有的发明都有点类似。第一步是一种直觉(intuition),随后是一个爆发(burst),然后困难来了——this thing gives out and [it is] then that “Bugs” — as such little faults and difficulties are called ——show themselves,然后数个月紧张地观察、学习和工作,这些是必要的,然后是获得商业成功或失败。
Baffle Ball,第一个机械弹球游戏,在1931年的广告语是“没有bug”。在二战期间,军事装置的问题也被称为bug(或者glitches)。
Bug一词被计算机先驱Grace Hopper用在记事上,记录了早期机电计算机故障的原因。这个故事的一个流传版本是这样的:
1946年,Hopper从职位退休,加入了哈佛学院的计算实验室,在那里她继续Mark II和Mark III的工作。操作员跟踪到一个Mark II的错误是由于一个飞蛾困在了relay上,coining the term bug。这个虫子被仔细地移走并贴在了日志上。源于这第一个bug,今天我们把程序中的错误也称为bug。
Hopper并不是第一个发现bug的人,她也一再这么说。日志本上的日期是1947年9月9日,有时候被错误报道为1945年。
翻得不好,请看原文:
http://en.wikipedia.org/wiki/Software_bug#Etymology