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