• 精选
  • 会员

并不是所有bug都能被消除

2024年12月26日  来源:为什么需要生物学思维 作者:塞缪尔·阿贝斯曼 提供人:It8933......

哥伦比亚大学城市发展学教授凯特·阿舍尔(Kate Ascher)出版过一系列有关城市建设、交通网络和大型建筑的著作,并在书中讨论了这些系统的复杂性。[11]这些著作附有很多信息丰富的图表,细节描述也很生动有趣,但是读者读起来仍会感到些许压抑。所有这些系统都已历经了几十年,甚至几个世纪的吸积。随着时间的推移,新的部件一层层地被叠加上去,从交通网络到新能源网络,再到物流网络,皆是如此。例如,为住宅和公共场所供水和排水就是一件非常复杂的事情。为了能有一个直观的印象,让我们来看一下纽约市排水系统的巨大规模:仅在市区范围内,地下管道的总长度就超过了9 700千米,而这还只是这个精心设计的排水系统的一小部分;事实上,这个排水系统的日排放量超过37亿升。

然而,通常只有在出了问题之后,我们才会意识到系统的复杂性。2010年春,因为一场事故,波士顿大都会区的居民们接受了关于如何管理和分配水资源的“速成培训”。在那年5月的第一天,马萨诸塞州韦斯顿市的一条主供水管破裂,[12]而该水管的水是从阔宾水库(Quabbin Reservoir)输送过来的。在接下来的几天里,包括我当时居住的布鲁克林区在内的许多社区的居民都收到了通知:必须把水烧开后才能饮用,因为“现在是用备用水源在供水”。除了对面的剑桥市,水库周围的城镇无一幸免,这是因为剑桥市拥有自己的独立水源。市政工程人员当然知道排水系统的复杂性,但是对于大多数城市居民而言,只有在系统发生故障之后,才会认识到这个事实。

安德鲁·布卢姆(Andrew Blum)在其著作《管道》(Tubes)中对互联网的物理基础设施进行了探讨。[13]他以亲身经历作引:有一天,他家里断网了,原因是后院的网线被一只松鼠啃断了,于是他开始琢磨互联网的物理连接特性,也就是一种纵横交错的有形网络。

在开源软件开发行业,“林纳斯定律”(Linus' Law)被许多人奉为真理。这个定律是以Linux系统的创始人林纳斯·托瓦兹(Linus Torvalds)的名字命名的,意思是“只要给予足够的关注,所有的bug都不是问题”。换句话说,如果能有足够多的人去检验某种技术,那么任何故障,无论它有多么复杂,看上去有多么难以处理,都是可以修复的,因为总会有人能找到解决办法。

但是,随着系统变得越来越复杂,这个“真理”似乎不再成立了。并不是所有的bug都可以消除:当我们面对复杂的充满交互的系统时,发现并消除每一个bug的可能性微乎其微,并且每一次修复都会引发新的问题。[14]这听起来非常令人沮丧,但在某种程度上来说确实是这样的。幸运的是,我们至少还有一丝摆脱部分困境的希望。

“技术狼人”不仅是人类跨入新时代的标志,同时也为人类指出了管理复杂系统的新方向。波士顿大都会区的供水危机说明了,自来水不是“自动来的”,它也有真实的源头。不断地检测bug是我们了解这个纠缠时代的性质,并保证自身在此间繁衍生息的有限选择之一。

如涉及版权,请著作权人与本网站联系,删除或支付费用事宜。

0000