“BUG”的由来:

Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug”,这是怎么回事呢?

原来,第一代的计算机是由许多庞大且昂贵的真空管组成,并利用大量的电力来使真空管发光。可能正是由于计算机运行产生的光和热,引得一只小虫子Bug 钻进了一支真空管内,导致整个计算机无法工作。研究人员费了半天时间,总算发现原因所在,把这只小虫子从真空管中取出后,计算机又恢复正常。后来,Bug这个名词就沿用下来,表示电脑系统或程序中隐藏的错误、缺陷或问题。

与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。遗憾的是,在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。虽然也有人使用“臭虫”一词替代“Bug”,但容易产生歧义,所以推广不开。

所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。软件的错误全是厂家设计错误。那种说用户执行了非法操作的提示,是软件厂商不负责的胡说八道。用户可能会执行不正确的操作,比如本来是做加法但按了减法键。这样用户会得到一个不正确的结果,但不会引起bug发作。软件厂商在设计产品时的一个基本要求,就是不允许用户做非法的操作。只要允许用户做的,都是合法的。用户根本就没有办法知道厂家心里是怎么想的,哪些操作序列是非法的。
从电脑诞生之日起,就有了电脑BUG。第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成了美国海军的一个将军,领导了著名计算机语言Cobol的开发。
1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。
突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现虫子的实例。”[1]
从此以后,人们将计算机错误戏称为虫子(bug),而把找寻错误的工作称为(debug)。

转载于:https://www.cnblogs.com/lmjob/archive/2007/08/06/844567.html

某程序的bug是什么意思?相关推荐

  1. 当程序出Bug时,程序员最喜欢说的30句话

    又快到周日时间,今天来个轻松娱乐的话题,当程序出Bug时程序员最喜欢说的30句话 1.在我的电脑上是正常的啊... (环境问题,不关我的事) 2.不可能出现这种情况的 (操作方式有问题) 3.快了,已 ...

  2. Java并发编程实战 代码bug,Java并发编程实战(1)- 并发程序的bug源头

    概述 并发编程一般属于编程进阶部分的知识,它会涉及到很多底层知识,包括操作系统. 编写正确的并发程序是一件很困难的事情,由并发导致的bug,有时很难排查或者重现,这需要我们理解并发的本质,深入分析Bu ...

  3. 背锅侠?程序出现bug是测试/开发工程师水平有限导致的?我只是个搬砖的......

    目录:导读 前言 一.Pytest自动化框架 二.Web自动化测试 三.Appium自动化 四.Robotframework 五.接口自动化测试 六.JMeter接口测试 七.Postman接口测试 ...

  4. wx.getFuzzyLocation BUG 微信小程序官方BUG 临时处理办法

    20220720处理getFuzzyLocation 微信小程序官方BUG 临时办法 微信小程序发布了最新的地理位置获取为背景 几乎不可能申请到原有的getLocation 但是getFuzzyLoc ...

  5. 一个多线程示例程序的BUG修复

    一个多线程示例程序的BUG修复 在<.NET 4.0面向对象编程漫谈 >的<应用篇>一书中,我介绍了一个使用"信号量(Semaphore) "同步对象模拟多 ...

  6. 【大局观很关键】关于找程序的bug

    suisuinian这两天一直在调程序.借用sc_control的程序,加入一些项目的控制命令,下发下去. 之前自己简单测试,都好的.然后根据项目需求,增加几条控制命令.在创建命令时,打开fcemod ...

  7. 程序员怎么样保证自己的程序没有BUG

    毫无疑问,程序员是善于思考问题的一族.一个程序的编写都是通过:思考.设计.编写.调试.测试以及运行这些基本的阶段. 但大部分程序员都有一个问题,就是不太愿意测试自己的代码.他们草草的调式完成以后就认为 ...

  8. 程序出Bug,一定是环境的锅!

    现象 前几天,一个客户反映说,他看到的数据顺序是乱的,不是按照日期倒排. 但是在测试环境.预生产环境,都无法重现问题,即使使用相同的程序版本. 定位 查看代码,出问题的功能使用了第三方ORM框架,无法 ...

  9. 微信小程序开发BUG经验总结

    摘要: 常见的微信小程序BUG! 小程序开发越来越热,开发中遇到各种各样的bug,在此总结了一些比较容易掉进去的坑分享给大家. 1. new Date跨平台兼容性问题 在Andriod使用new Da ...

最新文章

  1. asch相关的linux基础知识分享
  2. 《正则表达式经典实例(第2版)》——2.6 匹配完整单词
  3. Docker入坑指南之RUN
  4. 推荐一个IT老鸟肝了2月有余的免费开源WPF企业级开发框架
  5. html中怎么选择相同的代码,不同的HTML,相同的代码隐藏和相同的控件
  6. c#中使用多线程访问winform中控件的若干问题
  7. 用企业实例说明,制造业如何打破4大困境,解决数字化转型痛点
  8. 建立自己的唱机前置放大器
  9. 校招应聘产品经理,怎么准备?网易大佬来回答
  10. shell条件检查原理:command echo ‘success‘ || echo ‘error‘
  11. linux_从windows到ubuntu再到manjaro
  12. Open VSwitch简介
  13. UML依赖,关联,组合,聚合,继承,实现的关系
  14. 按键精灵打怪学习-窗口绑定技能
  15. linux tar压缩文件命令,linux解压压缩命令tar详解
  16. 汽车操作系统最新研究
  17. Boost PFC参数计算——交流电的基本概念与推导
  18. 《东周列国志》第五十四回 荀林父纵属亡师 孟侏儒托优悟主
  19. 基于导向滤波的图像融合(GFF)
  20. BufferedImage缩小图片大小

热门文章

  1. 以太坊---「地址、密码、私钥、助记词、Keystore 」那些事
  2. BigDecimal去除末尾多余的0
  3. springMVC学习-day01
  4. phpinfo信息泄漏
  5. HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序...
  6. SAP System Copy Guide, ECC 6.0, Oracle
  7. springboot启动出错,
  8. /lib/lsb/init-functions
  9. 计算两个日期相差几年几个月
  10. 使用HTML5的classList属性操作CSS类