2016年5月16日 星期一

書評: 致命 Bug - 軟件缺陷的災難與啟示

新聞報導民國 107 年將把程式設計列為國中必修課程,這個訊息透漏出在不久的將來、不懂軟體的人將成為另一種文盲。不懂軟體的大人也別以為那是小孩子的事,反正以後送補習班就好,事實上軟體已經跟我們的生命財產密不可分


這本書正好可以讓那些輕視輕忽軟體重要性的大人科普一下

以今天來說,光是交通工具就離不開軟體了,P.230 寫到

「20 世紀 70 年代首次引進的早期民航客機波音 747 使用了大約 40 萬行代碼寫成的軟件,而 2011 年引進的波音 787 所用軟件的源代碼是波音 747 的 16 倍約 650 萬行」

等於您是坐在一個極複雜的軟體在天上飛,能不花點時間了解一下嗎?

就算您跟小弟一樣不常出國好了,第 18 章「豐田汽車踏板門事件與軟件」告訴我們一個沒寫好的汽車軟體,會讓煞車失靈,讓原本開心出遊的一家四口變成悲劇。

國人死亡率排名第一的疾病是癌症,那您知道用於治療癌症的放射線,曾經因為軟體有 bug,使得病人接受到原本劑量的 100 倍照射而死亡嗎?這還是用了 6 條人命換來的 - 第 13 章:醫療儀器殺人 Therac-25 醫療事故。

處此之外,還有因為沒有處理好四捨五入造成股價持續下跌,或是軟體遺漏更新造成公司直接倒閉。還有因為軟體有 bug,所以愛國者沒有攔截到飛彈,造成軍隊傷亡,軟體有 bug ,造成誤判把民航機當戰鬥機擊落...

Netscape 創辦人,Marc Andreessen 說過「軟體業正在吃掉世界」並非戲言,而是現在進行式

讀這本書不需要什麼預備知識,雖然偶爾有些篇章後面會花個幾頁解釋 bug 的成因,看不懂那些虛擬碼也不會妨礙閱讀。對於業內人士來說,這本書上列出來曾經發生過的 bug,非常值得整理成一張列表,好好檢驗一下自家產品是不是也有類似的問題。

沒有留言:

張貼留言