|
我盯着屏幕上那个红得刺眼的漏洞单词——"bug",又看了看旁边同事写的英文注释:"bag fixed"。这已经是漏洞本周第三次看到有人把bug写成bag了。不是英文拼写错误,是漏洞真心觉得这个词该是"bag"。 这种混淆不是英文没道理。想想看,漏洞程序出问题时,英文数据就像被塞进一个扎紧口的漏洞袋子里,取不出来,英文也倒不进去。漏洞bag这个意象其实挺贴切的英文。但计算机科学的漏洞历史没给"袋子"留位置。 1947年9月9日,英文哈佛大学马克二型计算机出了故障。漏洞程序员格雷丝·霍珀打开继电器,发现一只飞蛾被夹在里面。她在日志上贴了这只蛾子,写下"First actual case of bug being found"。从此bug就成了计算机故障的代名词。那只蛾子现在还在史密森尼博物馆躺着,翅膀完整,死得其所。 但bag也不是完全没道理。在中文语境里,人们常把"bug"音译成"八哥",而"bag"听起来更像"百格"。有个做测试的朋友跟我说,他们团队新人入职第一天,组长会特意强调:"是bug,不是bag,别在周报里写bag。"结果那个新人第二周还是写了"修复了登录页面的bag"。组长气得直拍桌子,新人一脸无辜:"我觉得挺对的啊,问题就是被包在里面的。" 语言就是这样,它会被使用者的直觉慢慢改造。你可能不知道,在英语俚语里,"bag"确实有"捕获、占有"的意思,比如"bag a deal"。从某种角度说,修复bug确实是在"bag"一个问题——把它抓住、装起来、处理掉。所以那些写错的人,潜意识里可能比写对的人更理解编程的本质。 我查过Stack Overflow上的数据,每年有大约三千个新帖把bug拼成bag。这个数字不算大,但足够说明问题。更妙的是,当你在搜索引擎里输入"bag in code",它会自动纠正为"bug in code",然后给你一堆关于程序错误的结果。搜索引擎都默认你是拼错了,没人觉得你是故意的。 可万一哪天有个大牛真把"bag"用进了正式文档呢?比如某个开源项目的issue模板里写着"Report a bag"。搞不好十年后,bag就成了bug的正式别名。语言这东西,从来都是少数人用错了,多数人跟着用,最后字典都得改。 你去看牛津词典,bug这个词条下已经有二十多个义项了,从昆虫到窃听器到程序错误,跨度大得离谱。而bag也不甘示弱,从袋子到丑女人到高尔夫球得分,什么都有。两个词都够忙的,没必要非争个高下。 反正下次你看到有人写"bag",别急着纠正。他可能只是不小心,也可能是个超前于时代的天才。谁知道呢?那只飞蛾要是活着,大概也会说:随便你们叫啥,反正我死都死了。 |