軟體開發三句箴言!
甄士隱去,賈雨村言。
軟體工程中的達爾文主義悲劇是:
好的程式碼總會被重寫,壞的程式碼總會生存下來。
因此,通用的程式碼被替換成具體的程式碼,後者速度更快,而且(暫時來看)更容易理解。
因此,可擴充套件的程式碼被擴充套件,然後被改造得面目全非最終崩潰,最後被一大段只能湊合執行的專用程式碼代替。
所以,幹掉好的程式碼、漂亮的程式碼和正確的程式碼。
在一個只追求區域性最優的市場中,只有美學才能避免程式設計師考古學家(http://lambda-the-ultimate.org/node/4424)的悲劇。
程式碼受到的限制主要是由於我們無法管理其複雜性。因此,
軟體會不斷增長,直到我們無法理解。
因此,對於建立大型軟體系統來說,需要作出並執行的決策,已經超出了任何個人的理解能力。而社會、政府和文化的核心問題就是作出集體決策。從人類起源直到14000年之後的今天,我們仍然有各種問題,如全球變暖、核武器、居高不下的犯罪率……隨著軟體侵蝕著世界,在可以預見的未來,能夠想象到集體決策會承受怎樣的壓力。
也許我們應該期待,軟體“工程”中真正的進步,只有在我們學會如何管理自己後才有可能。
致還有選擇的人一言:
利用數字鴉片賺錢的系統,不要做。
集權控制媒體的系統,不要做。
推行社會不公平的系統,不要做。
需要不可持續的代價的系統,不要做。
將社會關係武器化的系統,不要做。
除此之外,也不要做任何試圖理解並操縱人們,卻不提供方式讓人們理解並操作它的系統。
做一些重要的事,即使只為你自己。
做一些幫助別人的事,即使是小事。
做一些讓事物更容易理解的事。
曾經,軟體允許我們進入虛擬世界,選擇自己的社群,探索各種可能的現實。而今天,不管是好是壞,軟體已經定義了每個人的現實。讓我們建立一個適宜生活的世界吧。
作者:Michael Arntzenius,在理論和實踐中學習程式語言。目前的專案是Datafun,一種功能查詢語言。
譯者:彎月,責編:郭芮
推薦閱讀:
點選“閱讀原文”,開啟 APP 閱讀更順暢