1. 程式人生 > >軟體開發三句箴言!

軟體開發三句箴言!

640?wx_fmt=gif

甄士隱去,賈雨村言。

640?wx_fmt=jpeg


640?wx_fmt=png


軟體工程中的達爾文主義悲劇是:

好的程式碼總會被重寫,壞的程式碼總會生存下來。

因此,通用的程式碼被替換成具體的程式碼,後者速度更快,而且(暫時來看)更容易理解。

因此,可擴充套件的程式碼被擴充套件,然後被改造得面目全非最終崩潰,最後被一大段只能湊合執行的專用程式碼代替。

所以,幹掉好的程式碼、漂亮的程式碼和正確的程式碼。

在一個只追求區域性最優的市場中,只有美學才能避免程式設計師考古學家(http://lambda-the-ultimate.org/node/4424)的悲劇。


640?wx_fmt=png


程式碼受到的限制主要是由於我們無法管理其複雜性。因此,

軟體會不斷增長,直到我們無法理解。

因此,對於建立大型軟體系統來說,需要作出並執行的決策,已經超出了任何個人的理解能力。而社會、政府和文化的核心問題就是作出集體決策。從人類起源直到14000年之後的今天,我們仍然有各種問題,如全球變暖、核武器、居高不下的犯罪率……隨著軟體侵蝕著世界,在可以預見的未來,能夠想象到集體決策會承受怎樣的壓力。

也許我們應該期待,軟體“工程”中真正的進步,只有在我們學會如何管理自己後才有可能。


640?wx_fmt=png


致還有選擇的人一言:

  • 利用數字鴉片賺錢的系統,不要做。

  • 集權控制媒體的系統,不要做。

  • 推行社會不公平的系統,不要做。

  • 需要不可持續的代價的系統,不要做。

  • 將社會關係武器化的系統,不要做。

除此之外,也不要做任何試圖理解並操縱人們,卻不提供方式讓人們理解並操作它的系統。

  • 做一些重要的事,即使只為你自己。

  • 做一些幫助別人的事,即使是小事。

  • 做一些讓事物更容易理解的事。

曾經,軟體允許我們進入虛擬世界,選擇自己的社群,探索各種可能的現實。而今天,不管是好是壞,軟體已經定義了每個人的現實。讓我們建立一個適宜生活的世界吧。

作者:Michael Arntzenius,在理論和實踐中學習程式語言。目前的專案是Datafun,一種功能查詢語言。

譯者:彎月,責編:郭芮

推薦閱讀:

640?wx_fmt=gif

640?wx_fmt=gif

640?wx_fmt=gif

點選“閱讀原文”,開啟 APP 閱讀更順暢