第395期:軟件開發的第三種方式
有一本很著名的軟件開發著作,叫做《大教堂與集市》,大家瞭解嗎?它提出軟件開發有兩種方式。一種方式是大教堂(Cathedral),即軟件經過精心規劃,由一支專業的團隊封閉式開發管理,全過程有嚴格的流程和管控,代碼通常是閉源的。另一種方式是集市(bazaar),即軟件開發是開放的,沒有圍牆,任何人都可以加入,決策過程是透明的、由社區驅動,代碼開源。這種比喻將軟件行業一分爲二,非常精闢,自從初次提出,已經過去了近30年,一直得到大家的認可。
但是最近,有人提出,這兩種方式已經不足以概括現狀,軟件開發現在出現了第三種方式:神祕屋。“神祕屋”是一幢真實存在的大宅,就位於美國加州,19世紀末由一個老太太建造。這個老太太非常非常有錢,沒有其他愛好,就喜歡建築學。她拿自己家當作實驗品,一個房間接一個房間地建造,都由她說了算,親自設計,親自監工。
整幢樓沒有整體規劃,怎麼想就怎麼造,房間 A 是維多利亞式,房間 B 是羅馬式,房間 C 是哥特式,都由老太太決定。有時候,房間造到一半,老太太不滿意了,就拆掉重建。所以,整個建築像迷宮一樣,每個房間的風格都不一樣。根據當年的記錄,重建次數最多的房間一共拆毀重建了16次。爲了省事,一些房間的窗戶和門重建時也沒拆掉,而是直接砌進了牆裏。
整幢樓在不同時期加蓋了多層,最高達到五層,大約有160個房間、2000扇門、10000扇窗戶、47個樓梯、47個壁爐、13個浴室和6個廚房。1922年,老太太去世後,它對外開放,人們將其稱爲“神祕屋”。如今,很多程序員就是這個老太太。他用 AI 開發軟件,自己提出需求,想要什麼就讓 AI 開發什麼,既沒有需求審查,也沒有代碼測試,充分滿足自己的個性。
最終開發出來的軟件,就是高度個性化,規模龐大,不斷擴張,代碼層層累加,幾乎沒有精簡和優化,充滿了修復 bug 的補丁。而且,它通常缺乏文檔,對外人來說晦澀難懂,就像“神祕屋”一樣。但是,這種開發過程充滿了樂趣,會讓開發者自我陶醉,樂在其中。隨着 AI 模型越來越強,“神祕屋”式軟件正在不斷湧現,搞不好以後會成爲主流,取代大教堂和集市。大部分軟件,尤其是個人和小團隊開發的軟件,可能都是以這種方式開發出來的。
來源|阮一峯科技愛好者週刊第 395 期,
評論(0)
暫無評論,來搶第一條。