列一份跨平臺開發的讀書清單[C/C++ (or Java?)]

iihero發表於2009-03-09

如果要開一份跨平臺開發的讀書清單:

 

0. 深入理解計算機系統

    將它列為0,實在是因為它是一本從程式設計師的角度去解釋一個計算機系統。它解釋了一些最基本的東西。

1. Unix環境高階程式設計

    如果覺得有些深,可找本簡單的<<GNU/Linux程式設計指南>>墊墊底

2. Windows核心程式設計

    這本書內容太厚實了,3比它簡單明瞭些

3. Win32多執行緒程式設計

4. Unix網路程式設計 (Richard那幾卷)

    這個不說了。

5. C++程式設計語言(or C++ Primer)

    這個是用C++的參考用書, C語言的參考書太多了,有個<<C專家程式設計>>似乎不錯,應該適合於有經驗的人去看。

6. 深入Java虛擬機器

    java表面上光鮮,內部的虛擬機器,瞭解得越多,對多平臺下開發,可能犯的錯誤會越少。尤其是不同廠商的jvm。也許你的應用在Sun jvm下跑得好好的,然後移到IBM的AIX下,莫名其妙的問題出來了。然後那個撓頭啊。

7. 資料庫系統全書

    這是stanford大學的兩本教材的合集(一本是資料庫系統基礎,另一本是資料庫系統實現),這是目前我看到的介紹資料庫系統理論與系統實現的最好書集,看了它,會知道一個DBMS要做起來,會涉及到那麼多核心的演算法和外部資料結構。瞭解之後,再做各商業資料庫底層開發,畏懼感會少很多。你甚至可以帶著疑惑和好奇,翻翻sqlite和postgresql的原始碼,看看一個小型DBMS和一個大型DBMS的實現究竟是怎樣的

8 ~ 10

    不好推薦了,根據你的職業路線,如果是走Java,那麼可能需要看大量的開源框架方面的資料或圖書(J2EE, Spring, Hibernate, Struts)和一些必備XML處理方面的知識積累(SAX, DOM, XSLT, ...)

    如果是繼續走C/C++開發企業級應用,也許你應該仔細看看一種大型DBMS的底層API的詳細用法(越細緻越好,越少犯錯), Oracle的OCI(我還是不推薦OCCI了,對於職業技能不會有什麼提高), DB2的CLI,Sybase ASE的OpenClient, MySQL的C-API。它們都是可以做到跨平臺開發的。

    如果是想做DBA,那麼好多書可能用不著了,直接奔廠商的原版文件和線上論壇而去,可能越深入做下去,越會牽扯到各種作業系統和儲存裝置以及複雜網路系統的技能。但是我相信,一個優秀的跨平臺程式設計師,只要他 (她)有興趣,並且願意事事親為,是能成為一名成功的DBA的。

    至於為什麼前邊推薦看一些作業系統下邊程式、執行緒、網路通訊方面的基礎程式設計用書,是因為企業級或者大型網際網路應用,往往是多執行緒或多程式,並涉及到網路通訊,同時資料庫又不可或缺。

 

    上述清單,還只是純粹涉及到程式設計開發,如果牽扯到設計方法和軟體工程,那清單就長了。

    <<程式碼大全>>, <<敏捷軟體開發>>, <<設計模式>>, <<UML***>>序列

 

其實,寫了那麼多,只是勉為推薦。真正實施起來未必是那麼回事。開發如繡花,必須得動手。光看不練,是不會有什麼效果的。

 

 

相關文章