冷知识典藏馆 · The Cold Almanac
历史 · 约 2 分钟

世界上第一个“电脑Bug”是一只真实飞蛾的尸体

1947年,哈佛大学Mark II计算机中一只飞蛾被卡住,导致故障,被记录为“第一个bug”。

哈佛Mark II计算机的日志本,上面贴着一只飞蛾,旁注“First actual case of bug being found”

反常识钩子

当你的软件崩溃时,你可能抱怨“有bug”。但你知道吗?“bug”这个词作为计算机故障的起源,并不是一个抽象比喻——它真的是一只被压在继电器里的飞蛾尸体。1947年9月9日,哈佛大学Mark II计算机的操作员从机器中取出了一只死飞蛾,并在日志中贴上了它,写着“First actual case of bug being found”。

到底是怎么回事

事件发生在哈佛大学的计算实验室。当时Mark II计算机是一台大型机电式计算机,使用继电器进行运算。操作员Grace Hopper(后来成为计算机科学先驱)和她的团队发现计算机出现故障,经过排查,在继电器触点之间发现了一只被压扁的飞蛾。他们用胶带把飞蛾粘在日志本上,并记录了日期、时间和注释。这个日志本至今保存在华盛顿特区的史密森尼国家航空航天博物馆。值得注意的是,Hopper本人并没有发明“bug”这个词,工程师们早在19世纪就用“bug”指代机械故障,但这次事件是首次将有形昆虫与计算机故障直接关联,并因此被广为流传。

背后的机制

早期的计算机(如Mark II)使用大量继电器和真空管,它们需要散热且容易接触不良。昆虫被机器运转产生的热量或灯光吸引,飞入机箱后可能被高压电弧击杀,或卡在机械部件中导致短路或逻辑错误。现代计算机虽然大多使用密封机箱和无继电器设计,但“bug”一词作为程序错误的代称已深入人心。有趣的是,后来人们也将软件缺陷称为“software bug”,尽管它不再有物理实体。

容易误解

常有人误以为Grace Hopper是第一个使用“bug”指代计算机故障的人,甚至说她是“发明”了这个词。实际上,“bug”在19世纪就已经用于描述机械故障,比如电报和铁路行业。Hopper本人也在后期采访中明确澄清过。另外,那只飞蛾并不是导致故障的唯一原因,当时日志中也记录了其他类似问题,但只有这次被突出强调为“first actual case”。

一句话带走

你的程序崩溃时,想想70多年前那只被继电器压扁的飞蛾——电脑bug曾经是真的虫。

返回全部馆藏