當前位置: 華文星空 > 知識

如何去學習程式設計師的三大浪漫,編譯原理,圖形學,作業系統?

2016-04-01知識

書給多了你也就迷惑了.

我給一個基本建議, 不要用c/cpp/java這些語言來寫. 用python/ruby/racket隨你願

個人覺得那幾本書特別是編譯器的書很有可能嚴重打擊你的士氣, 因為它們都有嚴重的毛病

就像這樣

(中文化了一下...)


所以可以走easy mode, 比如

編譯器你可以...

  1. 先實作lisp語法的直譯器(以後你可以拿這個金手指找別人約架...)
  2. 把它編譯成一個棧式虛擬機器程式碼
  3. 轉換到組譯或者直接用虛擬機器跑就隨意了

圖形學你可以...

放棄, 最後再弄

作業系統你可以...

  1. 先<作業系統概念/現代作業系統/FreeBSD作業系統設計與實作>隨便看一本, 理解概念就行
  2. 再去github上抓一個小作業系統來玩, 也就1萬行程式碼不到, 就ok了

然後你別忘了...

計 算 機 網 絡, 一個完整的tcp/ip協定棧不過3-5萬行程式碼, 如果你做完了上面的事情, 寫個協定棧也就是3-5個月的光景

如果你們學校用銳捷/3com認證網路

如果你們學校限制客戶端數量

如果你們學校限制客戶端作業系統

如果你們學校限制上網時長

如果....

那你就有救了, 一網在手, 天下你有. (但是的但是千萬別專門當寫網路程式的程式設計師, 非 常 無 聊(當然說不定你也許會喜歡什麽的...))


(在你覺得空虛無聊寂寞冷的時候, 可以看看SICP, 我認為它是軟體工程的精華所在

(moreover, 在

Lambda the Ultimate

上可以學到很多PL知識


最後, 要當一個好程式設計師, 一定要好好看看<程式碼大全>和這個網站

The Pragmatic Bookshelf

上的書