你这辈子可能都不需要看《计算机程序设计艺术》了!
“欣哥, 我什么時候可以看《計算機程序設計藝術》? ”
“你這輩子可能都不需要看了!”
我在大學的時候并不知道《計算機程序設計藝術》(簡稱TAOCP)有多牛,他的作者有多牛,人家計劃寫七卷,寫了三卷以后,圖靈獎的評委們就“迫不及待”地把圖靈獎版給他了。?
我只是看到了比爾蓋茨的一句話:
“如果你完完整整讀完了《計算機程序設計藝術》,請立刻給我發一份簡歷。”??
我立刻就跑到圖書館去,翻出了那本泛黃的,破舊的《計算機程序設計藝術》,準備看完后給蓋茨發簡歷。
這本書一開始就是數學準備,講歸納法,冪,對數,排序和階乘,幾乎全是數學公式,我一看到數學就頭大,特別是覺得這些東西高中應該掌握了,于是果斷跳過。?
然后的章節就把我鎮住了,這是什么算法書啊!一開頭居然自定義一個了虛擬的計算機,附帶了一套自定義的匯編語言,然后書中的算法都用自己的匯編語言來寫, 截個圖大家感受下:
用匯編寫算法,這不是自虐嗎? 為啥不用C語言? C語言也很貼近硬件啊!
哦,這本書出版的時候(1968年)C語言還沒誕生(1972年)呢!??
Kunth 老爺子選擇自創匯編,除了迫不得已,還有可能是語言會隨著時代潮起潮落衰落,而匯編將會永恒。
我釋然了,放棄了, 決定不再給比爾蓋茨發信了。?
我很清楚自己有幾斤幾兩,這本充滿著數學和匯編的書并不是為我等凡夫俗子縮寫,我還是老老實實地去看我的數據結構和算法的教科書把。?
Knuth說過: “要是看不懂 TAOCP,就別當程序員。”??
顯然Knuth是錯的, 我還是成了一個程序員。
工作以后,我還買了一本,放到書架上來裝點門面,顯得自己非常高深的樣子。??
有一次被同學看到了,調侃似地問我:“你真的把這本書看完了? 給比爾蓋茨發簡歷沒有?”?
我無言以對,默默地把它從書架上抽出來,放到了箱子的最底部,然后換上了一本《算法導論》 。
后來這個“可惡”的同學又來了,驚訝問我:“你把《算法導論》看完了? 厲害啊!”
于是我默默地把《算法導論》 也抽了出來,換上了一本《算法》。沒錯,這就是我一直推薦的一本算法書,適合我等凡夫俗子閱讀。?
如果你不是做算法分析的,我不建議你去碰《計算機程序設計藝術》這個圣經了。有啃這本書的時間,我覺得還不如自己去折騰個操作系統出來,要有意思得多。
總結
以上是生活随笔為你收集整理的你这辈子可能都不需要看《计算机程序设计艺术》了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速开发一个自定义 Spring Boo
- 下一篇: 不同时重写equals和hashCode