以下内容转载自:阮一峰 科技爱好者周刊(第 395 期) – 软件开发的第三种方式
有一本很著名的软件开发著作,叫做《大教堂与集市》,大家了解吗?
它提出软件开发有两种方式。
一种方式是大教堂(Cathedral),即软件经过精心规划,由一支专业的团队封闭式开发管理,全过程有严格的流程和管控,代码通常是闭源的。
另一种方式是集市(bazaar),即软件开发是开放的,没有围墙,任何人都可以加入,决策过程是透明的、由社区驱动,代码开源。
这种比喻将软件行业一分为二,非常精辟,自从初次提出,已经过去了近30年,一直得到大家的认可。
但是最近,有人提出,这两种方式已经不足以概括现状,软件开发现在出现了第三种方式:神秘屋。
“神秘屋”是一幢真实存在的大宅,就位于美国加州,19世纪末由一个老太太建造。
这个老太太非常非常有钱,没有其他爱好,就喜欢建筑学。她拿自己家当作实验品,一个房间接一个房间地建造,都由她说了算,亲自设计,亲自监工。
整幢楼没有整体规划,怎么想就怎么造,房间 A 是维多利亚式,房间 B 是罗马式,房间 C 是哥特式,都由老太太决定。有时候,房间造到一半,老太太不满意了,就拆掉重建。
所以,整个建筑像迷宫一样,每个房间的风格都不一样。根据当年的记录,重建次数最多的房间一共拆毁重建了16次。为了省事,一些房间的窗户和门重建时也没拆掉,而是直接砌进了墙里。
整幢楼在不同时期加盖了多层,最高达到五层,大约有160个房间、2000扇门、10000扇窗户、47个楼梯、47个壁炉、13个浴室和6个厨房。
1922年,老太太去世后,它对外开放,人们将其称为”神秘屋”。
如今,很多程序员就是这个老太太。
他用 AI 开发软件,自己提出需求,想要什么就让 AI 开发什么,既没有需求审查,也没有代码测试,充分满足自己的个性。
最终开发出来的软件,就是高度个性化,规模庞大,不断扩张,代码层层累加,几乎没有精简和优化,充满了修复 bug 的补丁。而且,它通常缺乏文档,对外人来说晦涩难懂,就像”神秘屋”一样。
但是,这种开发过程充满了乐趣,会让开发者自我陶醉,乐在其中。
随着 AI 模型越来越强,”神秘屋”式软件正在不断涌现,搞不好以后会成为主流,取代大教堂和集市。大部分软件,尤其是个人和小团队开发的软件,可能都是以这种方式开发出来的。
我可不喜欢神秘屋,不可控的东西,崩溃只是迟早的事情。