Windows程序員進階應該看的那些書
業內有一個普遍的現象,一般Windows程序員在寫了3-5年的代碼的時候會有一段迷茫期,因為這個時期的程序員已經掌握了常用的一些編程技巧,對某種編程語言已經比較熟悉,可以完成常規的任務,但是這個時候的程序員也很容易迷茫。主要的表現有以下幾種:
第一種,開始不停嘗試不同的編程語言,但是慢慢的發現,其實語言大同小異,疲于學習,收獲不大。
第二種,開始轉向linux平臺,總認為別人干的活比自己好,比自己牛,結果是常常沒有足夠的時間,疲憊于學習自己工作中根本用不到的知識,花了很大的精力卻收獲很少。
第三種,認為自己很牛了,沉迷于自己的一種技術甜區,不思進取。
有句話說的好,沒有量的積累就沒有質的飛躍,不經歷過一定的項目和代碼的熏陶,以及幾米厚的書籍的積累,質變確實困難。
首先聲明的是,本文所寫的都是個人見解,只是希望后來人少走些彎路,歡迎討論,但是言語之爭就算了。
下面開始介紹indows程序員進階應該看的那些書,
第一本:windows internals
推薦理由:
這本書的作者是,Mark E. Russinovich,windows歷史上的傳奇人物,SysinternalsSuite的作者之一,著名的processexp, process monnitor, Dbgview 都出自這個團隊,本書講述了windows的底層關鍵機制、windows的核心組件(包括進程/ 線程/ 作業、安全性、i/o系統、存儲管理、內存管理、緩存管理、文件系統和網絡),并分析了啟動進程、關機進程以及緩存轉儲,伴隨著widnows NT 這本書已經出了幾個版本,最新的版本是6.0。
第二本:Windows內核原理與實現
推薦理由:
這本書是國內著名的技術翻譯作者寫的windows技術相關的書籍中比較不錯的,全書解析了Windows如何實現操作系統的各個關鍵部件,包括進程、線程、物理內存和虛擬內存的管理,Windows中的同步和并發性支持,以及Windows的I/O模型。值得一提的是書中講解了部分的Windows Research Kernel代碼,從代碼學習確實可以達到更好的效果。
但是提到這本書有一點讓人不吐不快:說實話,我讀完這本書并沒有收獲太多windows internals里面沒有的知識,但是看了一些代碼確實讓人受益匪淺,還有更重要的一點,本書的意圖是幫助大家從源代碼的角度剖析windows NT, 而且微軟已經提供了源代碼WRK,但是本書為了講解一些技術細節而實現的幾個小工具竟讓沒有開源,只提供了可執行文件,而且這幾個小工具只能在有限的幾個版本的系統上運行,對學習本書造成了很大的不便。另外運行這幾個工具的時候很可能讓你的系統藍屏,死機,請務必小心,個人對這種行為很是費解,所謂寫書就是為了剖析本質,而用于剖析本質的具體的小工具卻不隨書附帶源碼,這種行為使這本書的價值大打折扣。
第三本:Advanced Windows Debugging: Developing and Administering Reliable, Robust, and Secure Software
推薦理由:
這本書是windows 調試領域的神作,里面介紹的東西面很全,如果還沒有開始,建議從這本書開始,而且這本書有中文版,全書有聶雪軍翻譯,讀起來比較順暢。
第四本:軟件調試:Software Debugging
張銀奎老師寫的書,可能很多人沒有聽過這個名字,但是一般業內的人都知道他,張老師的鉆研精神和堅持精神是值得我們尊敬的,他寫的這本書傾注了很多的心血,第一遍都這本書的時候我還很年輕,沒有完全理解。直到聽了一次張老師的課,在第二遍讀的時候,我才明白其中的樂趣,強烈推薦本書,張老師幾萬一天的的課,精華都在這本書里面。
總結
本文列出了Windows程序員進階應該看的那些書,當然,還有一些書也不錯,由于篇幅的原因,本文暫時寫這些,更多精彩內容待續..
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
