ESI ULM
首頁 意見防脆弱軟件

防脆弱軟件

David Vallejo 反脆弱軟件。 ESI UCLM 教授

防脆弱軟件

通過 大衛·瓦列霍·費爾南德斯 (大學教授)。

塔勒佈在他的書中說 反脆弱事物分為三列:易碎的、堅固的和反脆弱的. 易碎的東西喜歡安心,也很容易破碎,就像除夕慶祝活動中的精美水晶玻璃一樣。 當出現一些動盪並保持其地位時,穩健或有彈性的事物能夠承受衝擊並保持其地位,例如多元化並維持龐大客戶群的小型企業。 反脆弱的東西比堅固的東西走得更遠,甚至可以從不確定性、風險或波動中受益,就像大自然一樣。 塔勒布提供了一個非常直觀的例子,借鑒了希臘神話,以了解這三種品質之間的區別。 達摩克利斯是一個脆弱的角色,頭頂上握著劍的馬毛折斷並結束他的生命只是時間問題。 鳳凰鳥是一種健壯的生物,因為它能夠在死後從灰燼中重生。 九頭蛇是一種神話中的多頭蛇形生物,它從不利的情況中受益,因為每次砍掉一個頭,就會誕生兩個新的頭。

有趣的 在軟件的背景下反思這種分類. 軟件開發是一個複雜的過程,其中現有的相互依賴關係的數量很多,有時甚至難以檢測,並且錯誤或錯誤的出現可能會導致非線性響應。 不幸的是,我們人類很難理解非線性,因為我們傾向於以線性方式思考。 如果計算機系統中出現的錯誤導致其功能減少 10%,那麼兩個錯誤的出現,無論是否相關,都可能產生比初始效果翻倍更大或更少的效果(即,比如說,將 10% 翻倍)。

El 脆弱的軟件就像達摩克利斯一樣,生活在等待不可避免的失敗。 脆弱的軟件是時間的敵人。 就像一個國家的公共債務在與合作夥伴談判時會削弱它一樣,從長期來看,從技術債務中獲得的利益將導致更高的維護成本。 隨著維護變得更加複雜,軟件的熵將增加,從而影響最終必須修改的初始設計。 

El 強大的軟件另一方面,它的設計考慮到它必鬚麵對時間的流逝,同時它必須對錯誤的存在做出充分的反應。 測試和代碼調試是提高軟件穩健性的首選技術。 Dijkstra 表示,如果調試是從軟件中刪除錯誤的過程,那麼編程必須是引入它們的過程。 不存在無錯誤的代碼。 我們無法預測它們何時會出現不良後果。 有時健壯性不夠健壯,如果不是不可能的話,也很難估計與可能的軟件故障相關的概率和影響。 風險管理提供了一種虛假的安全感。


考慮到反脆弱性的性質, 反脆弱軟件的創建 將受益於壓力源或隨機元素的引入。 的哲學 早發布,經常發布,由 Eric S. Raymond 在他的文章中推廣 大教堂和集市 並受到 Linux 內核開發模型的啟發,符合這個想法。 不是全部 軟件大教堂 必須以完美協調的方式構建。 集市充滿活力、熙熙攘攘、瞬息萬變,充滿了不同方法和個人目標的商人。 從一開始就擁有用戶可以通過隨機使用軟件來增加開發的進度,從而提高最終結果的質量。 這種哲學消除了創建沒有人最終使用的軟件的風險,是 開源. 軟件 開源 它的發展得益於其程序員的協作努力,只要它繼續為用戶提供真正的價值,它就會經受住時間的考驗。

G.莫羅:赫拉克勒斯和勒納的九頭蛇(1876)
與某人分享:
評價這個項目