@ 2018.08.25 , 16:00

It’s Not a Bug, It’s a Feature

It’s Not a Bug, It’s a Feature

我们不知道这话是谁第一个说的,也不知道他说这话时是羞愧地还是自豪地,是愤怒地还是狡黠地。这句话从一句漫不经心的调侃变成了格言,但起源依然是迷。我们唯一所知的是,这句话一直流行于程序员群体。The Jargon File 是著名的黑客行话大全,诞生于1975年的斯坦福,它里面是这么解释这句话的:

这句话是说,只要改改产品文档或者简单声明一下,一个漏洞(bug)就能变成产品的特性(feature)。「 It's Not a Bug, It's a Feature」是常用流行语。

当19世纪的发明家和工程师用bug(虫子)指代缺陷时,他们指的是机械故障,机械故障总是不好的。像「bug或许可以成为大家想要的东西」这种想法,绝对不会在爱迪生和特斯拉脑海里出现。这个词只在进入程序员的世界后才变得「有内涵」。It’s not a bug, it’s a feature 其实是对程序模糊性的一种承认,这种承认一半是玩笑,一半是无奈。

大家普遍认为,应用和程序是「算法」,是一连串准确推进的简练指令。但实际上,代码有逻辑,却很少完美。一个程序就是一个手工制品,它的诞生往往是妥协的结果,它是主观判断和不断修改的产品。每个人都会有自己的看法,例如,某些用户眼里恼人的缺陷,在程序员眼里,就是一个被完美实现的需求。

谁说得清楚呢?在2013年的一份调查里,德国一所大学的研究人员仔细研究了五个软件项目的代码,并评估了报告出来的代码错误。结果,他们发现,这个bug报告本身就有bug。「每三个bug里就有一个不算bug,」他们总结道。他们论文的标题和你想的一样:「It’s Not a Bug, It’s a Feature」。

INABIAF—这个首字母缩写还在Acronym Finder占据了一席之地—就是程序员的 cri de coeur(法语:我的心在哭泣,常用于表达不满)。对于我们这些圈外人,这句格言多少有点调侃的意味。就在不久以前,我们还觉得软件世界令人目眩神迷,到处都是魔法和光明。但是现在,我们对软件的看法变了。我们手机里看起来很友善的app和聊天机器人都心怀鬼胎。他们可能操纵我们或背叛我们的信任或让我们犯蠢。这些都是feature,但是现在已经变成了bug。

bug这个词语的灵活性让INABIAF 走进了我们的日常生活。随着90年代公众接触互联网,这句短语也出现在主流媒体上——1992年的纽约时报,1997的纽约客,1998年的时代杂志——但是直到本世纪,它才真正流行起来。

简单的看一眼Google News的记录就知道,就在今年,「It’s not a bug, it’s a feature」一个月就出现了146次。那些被说成是feature的bug,是公会的衰落,是切花的枯萎,是经济熔断。说一句正确的废话,没有什么是不可挽回的,

这句程序员的「常用语」,已经成了bug本身,它庸俗到能贬低它碰到的所有东西。但撇开被滥用这一点,你会发现一个真相。什么是进化?进化就是基因编码里的一个错误,但这个错误实现了一个有价值的生物功能。我们每个人都是这些被视作feature的bug的集合体,我们就是INABIAF的化身。

本文译自 WIRED,由 Dkphhh 编辑发布。

支付宝打赏 [x]
您的大名: 打赏金额:
赞一个 (9)