其实Bug一向有很多很多的含义,但是“计算机错误”这个含义是近来才由于计算机技术的发展而被广大人民群众所熟知的。最讨厌bug的除了女生大概就是程序猿了,但是第一个发现Bug并将它消灭的就是个程序媛——格蕾斯·哈珀,她后来成为了美国海军的一位将军。而且当年的那个Bug竟然是一个货真价实的Bug。无论如何,让我们向这位世界上第一个发现了Bug的程序媛前辈表达敬意。
对于开发人员来说,Bug是无法避免也最令人头疼的,你需要不停地Debug、不停地Debug……
Bug一词的原意是“臭虫”或“虫子”。现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,也称之为“Bug”,这是怎么回事呢?
第一个有记载的Bug是美国海军编程员、编译器的发明者格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成为了美国海军的一位将军,还领导了著名计算机语言Cobol的开发。
1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个真正的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。
突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例”。
从此以后,人们将计算机错误称为Bug,与之相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。