计算机程序或硬件系统中的错误
程序错误(英语:Bug),是程序设计中的术语,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。有些程序错误会造成计算机安全隐患,此时也叫做漏洞。
现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。BUG可以使电脑系统崩溃、被黑客攻击,有的BUG还有可能成为用户不当得利的工具。
一些有趣的隐错有时也会成为一种乐趣。在计算机游戏中,假如一些隐错不令游戏出现大错误的话,经常会变成一种玩游戏时的秘技(秘技有时是游戏设计人故意造成的,用于程序设计上的检查,绕过不需要的步骤直接检验需要的地方时所使用的代码)。
在1947年9月9日,葛丽丝·霍普(Grace Hopper)发现了第一个计算机上的bug。当在Mark II计算机上工作时,整个团队都搞不清楚为什么计算机不能正常运作了。经过大家的深度挖掘,发现原来是一只飞蛾意外飞入了一台计算机内部而引起的故障。这个团队把错误解除了,并在日志本中记录下了这一事件。也因此,人们逐渐开始用“Bug”(原意为“虫子”)来称呼计算机中的隐错。现在在华盛顿的美国国家历史博物馆中还可以看到这个遗稿。Bug用来指工程上的错误这种用法大约出现在1870年代,早在计算机出现之前就存在了。目前最早找到的证据是爱迪生在1878年的信
It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that "Bugs"—as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.
中文翻译如下:在我所有的发明中都如此。第一步是直觉,然后灵光一闪,然后出现困难——这件事发生了,然后“Bug”——这样称呼那些微小的错误和困难——展现出来。在明确到达商业的成功或失败之前,数个月的密切关注、研究和劳动是必需的。
bug除了有程序漏洞的含义外,还引申出了其他的含义,可以用来形容事物厉害的超乎想象,比如说“你这个bug”,意思就是你这个人太厉害了,一般用于震惊和感叹。