bug 这个英文单词本身原本的词义就是虫子 昆虫,在计算机行业里面,指代程序故障 缺陷这个用法,并不是后来才凭空造出来的新词,在计算机领域广泛使用之前,工程行业早就已经用 bug 指代设备故障,最知名的历史典故就是早期继电器计算机里面飞蛾卡进电路造成故障,工程师把这只飞蛾贴在日志本上,标注成 bug,之后这个说法就在计算机圈子流行开来,在计算机行业普及这个术语之前,并没有一个全国统一专门替代 bug 的中文固定叫法,国内早期计算机从业人员一般直接称呼程序错误 程序故障 程序缺陷,到后来中文互联网普及之后,大家就直接沿用 bug 这个外来词,很多人会混淆,以为 bug 有另外一个官方旧名称,实际上它没有改名,只是从原本昆虫本义,延伸出程序缺陷这个行业含义。这个术语能够延续下来的原因,是单词简短好记,在全球程序员圈子通用,比冗长的中文描述更方便口头沟通,慢慢就变成行业通用标准术语,对应的修复 bug 的动作叫做 debug。
术语演变清单
1 单词原始本义 bug 名词,昆虫 小虫,属于英文原生单词,早于计算机时代就存在
2 工程领域早期用法 工业工程里面,bug 就用来指代机械故障 隐患,早于计算机
3 计算机领域定型 继电器计算机飞蛾事件之后,计算机行业开始用 bug 表示程序或者硬件故障
4 中文本土叫法 国内早期书面描述多写程序错误 程序缺陷 系统故障,没有专属固定旧名词
5 配套衍生词 debug 意思是排查修复 bug,这个词和 bug 配套一起流传
相关概念对照表
| 名称 | 含义 | 和 bug 关系 |
|---|---|---|
| bug | 程序缺陷 故障 | 标准行业术语 |
| debug | 调试排错 | 针对 bug 的修复动作 |
| defect | 缺陷 | 正式书面同义词,多用于软件测试文档 |
| error | 错误 | 范围更广,包含语法错误 运行错误,不完全等同 bug |
理解与区分步骤
第一步 区分单词本义和行业引申义,bug 从来没有改名,只是增加了计算机领域新含义
第二步 区分英文行业术语和中文本土描述,中文早期是描述性说法,不是正式专有名称
第三步 区分 bug 和 defect error,软件测试文档里面 defect 是正式书面词,口语仍然习惯说 bug
第四步 记住经典飞蛾典故,理解这个术语为什么会在计算机圈广泛传开
bug 本身没有更换过正式名称,它原本就是英文单词昆虫,后来引申为程序故障,国内早年只是用程序错误这类中文描述,并没有一个单独的旧专有名词,现在行业依旧沿用 bug 这个叫法,同时正式文档也会搭配 defect 这类书面同义词。
【相关 FAQ】
问题 1 bug 以前叫什么 是不是以前中文有专门名字
回答 1 bug 以前叫什么,中文早期没有专属固定专有名称,一般书面写程序错误 程序缺陷,bug 本身英文单词没有改名,只是新增计算机行业引申含义
问题 2 bug 以前叫什么 飞蛾事件是不是 bug 名称的来源
回答 2 bug 以前叫什么,飞蛾事件是计算机行业广泛使用 bug 这个说法的标志性事件,并不是把原来别的名字改成 bug,bug 原本就有故障这个工程用法
问题 3 bug 以前叫什么 defect 是不是 bug 以前的叫法
回答 3 bug 以前叫什么,defect 不是 bug 以前的叫法,defect 是软件测试正式书面同义词,一直和 bug 并行使用,不是旧名称
问题 4 bug 以前叫什么 debug 和 bug 是什么关系
回答 4 bug 以前叫什么,debug 是配套衍生词,含义是排查修复 bug,这个术语和 bug 同期在计算机行业流传,并不是 bug 以前的旧名字
【免责申明】
本文为计算机术语起源科普,相关历史典故参考计算机行业公开史料,不同资料叙述细节略有差异,本文不替代专业计算机教材内容。


