關(guān)于學(xué)習(xí)Linux的經(jīng)典書籍 (深入理解Linux內(nèi)核、Linux設(shè)備驅(qū)動(dòng)程序等)
成為一名精通 Linux 程序設(shè)計(jì)的高級(jí)程序員一直是不少朋友孜孜以求的目標(biāo)。根據(jù)中華英才網(wǎng)統(tǒng)計(jì)數(shù)據(jù),北京地區(qū) Linux 程序員月薪平均為 Windows 程序員的 1.8 倍、Java 程序員的 2.6 倍, Linux 程序員年終獎(jiǎng)金平均為 Windows 程序員的 2.9 倍。同時(shí)數(shù)據(jù)顯示,隨著工作經(jīng)驗(yàn)的增長, Linux 程序員與 Windows 程序員的收入差距還有擴(kuò)大的趨勢。Denis 認(rèn)為,要學(xué)好 Linux 環(huán)境下的編程,關(guān)鍵是要看對(duì)、選對(duì)、學(xué)會(huì)正確的書籍??梢哉f,如果你選對(duì)了 Linux編程的經(jīng)典書籍,配合你在程序設(shè)計(jì)工作中的刻苦鉆研,成為一名精通 Linux 程序設(shè)計(jì)的高級(jí)程序員并非一件可望不可及的事情。但如果各位程序員朋友沒有選對(duì)正確的書籍,則你的職業(yè)生涯之路就可能面臨坎坷。今天,水煮魚向各位朋友推薦的這些書,有的是資深老前輩們當(dāng)初向水煮魚的推薦,還有的是 IBM 的內(nèi)部培訓(xùn)指定參考書,它們都很值得各位朋友抽空認(rèn)真一讀。
本文引用地址:http://butianyuan.cn/article/201612/341247.htm為什么要學(xué)習(xí) Linux 環(huán)境下的編程
Linux 是一個(gè)開放、靈活、跨平臺(tái)的操作系統(tǒng),上至龐大的數(shù)據(jù)中心,下至可放于掌心中的嵌入式設(shè)備,無處沒有 Linux 的身影。更為重要的是, Linux 是一個(gè)與 Unix 既一脈相承又與時(shí)俱進(jìn)的系統(tǒng)??梢哉f,上世紀(jì)70年代學(xué)習(xí)的 Unix 知識(shí)和技巧,在今天仍然大有用武之地,這與 Windows 平臺(tái)的開發(fā)形成了鮮明的對(duì)比。程序員不用擔(dān)心今天微軟出一個(gè) .net,明天又出一個(gè) F#,使得自己過去學(xué)習(xí)的成果付之東流。
上個(gè)星期,水煮魚與一位 Linux 項(xiàng)目經(jīng)理聊天過程中,這位 Linux 項(xiàng)目經(jīng)理告訴水煮魚,他們項(xiàng)目的利潤非常高,急需具備一定 Linux 編程知識(shí)的程序員。他說:“其實(shí)我們對(duì)程序員的編程技巧要求也并非很高,這是可以在工作中培訓(xùn)和提高的,關(guān)鍵是很多程序員連基本的 Linux 編程思想都不了解,我怎么聘用他們呢?我們?nèi)ゴ髮W(xué)招聘的時(shí)候,給本科應(yīng)屆生開出 8000 元的月薪,但是就是很難招到人。我拿一些經(jīng)典書籍中一些經(jīng)典例子來考他們,他們基本上都是一問三不知。其實(shí),如果他們能回答上一半的問題,我還是很愿意考慮是否聘用他們的。而對(duì)于項(xiàng)目相關(guān)部分的專業(yè)知識(shí),我們有專業(yè)的內(nèi)部培訓(xùn),并不擔(dān)心這個(gè)問題,關(guān)鍵是看應(yīng)聘者是否具備 Linux 編程的基本思想?!?/p>
水煮魚認(rèn)為,這位項(xiàng)目經(jīng)理朋友提到的問題還是很有代表性的。其實(shí)很多程序員朋友,只要能掌握這些書中的基礎(chǔ)知識(shí),是很容易脫穎而出的。事實(shí)上,項(xiàng)目經(jīng)理他們也都很忙,并沒有空去自己設(shè)計(jì)高難度的面試題目,而是直接采用經(jīng)典書籍中的經(jīng)典例子。
《UNIX環(huán)境高級(jí)編程》(第2版),史蒂文斯著
《UNIX 環(huán)境高級(jí)編程》,推薦指數(shù):★★★★★
在當(dāng)當(dāng)購買 | 在卓越購買
《UNIX環(huán)境高級(jí)編程》是 Unix/ Linux 程序員案頭必備的一本書籍??梢哉f,Linux 程序員如果沒有讀過這本書,就好像基督教徒?jīng)]有讀過圣經(jīng)一樣,是很難讓人理解的。這本書概括了 Linux 編程所需的一切理論框架、主要系統(tǒng)函數(shù)、多進(jìn)程編程、乃至 Linux 網(wǎng)絡(luò)通信。對(duì)于初學(xué)者,如果你能將《操作系統(tǒng)》這門課程結(jié)合著這本書來學(xué)習(xí),試著用 Linux 程序?qū)嵺`《操作系統(tǒng)》這門書中講的進(jìn)程間通信、進(jìn)程調(diào)度、進(jìn)程同步等內(nèi)容,相信這將是一個(gè)一舉兩得的事情。哦,忘了告訴大家,上次 CNN 采訪 Google 總裁佩林的時(shí)候,水煮魚看到佩林的書架上就有這本書的英文版,可見它真的是一本全球開發(fā)者必備的一本書。
《深入理解 Linux 內(nèi)核》(第三版) ,博韋等著
《深入理解 Linux 內(nèi)核》,推薦指數(shù):★★★★
在當(dāng)當(dāng)購買 | 在卓越購買
學(xué)習(xí) Linux ,就要學(xué)習(xí) Linux 的精華。而 Linux 的精華,則在于 Linux 的內(nèi)核?!渡钊肜斫?nbsp;Linux 內(nèi)核》就是一本輔助學(xué)習(xí) Linux 內(nèi)核的經(jīng)典書籍。有的初學(xué)者,在沒有人指導(dǎo)的情況下,就鉆入 Linux Kernel代碼的海洋中埋頭苦學(xué),結(jié)果學(xué)了半天仍然是一頭霧水。當(dāng)然了,在大師指導(dǎo)下學(xué)習(xí)就不一樣了。本書以最新的 Linux 2.6 版架構(gòu)為基礎(chǔ),分門別類地向初學(xué)者介紹了 Linux 內(nèi)核的架構(gòu)、編程思想、以及功能模塊。相信你在本書的指導(dǎo)下學(xué)習(xí),對(duì)于你讀懂 Linux 操作系統(tǒng)的精華部分,會(huì)取得事半功倍的效果。事實(shí)上,不少知名公司招聘的題目里面,很多就出自這本書,可見它真的是論述 Linux 內(nèi)核的經(jīng)典書籍。
《Linux 設(shè)備驅(qū)動(dòng)程序》,科波特著
《Linux 設(shè)備驅(qū)動(dòng)程序》,推薦指數(shù):★★★
在當(dāng)當(dāng)購買 | 在卓越購買
程序開發(fā),高薪在 Linux ; Linux 程序員,高薪在驅(qū)動(dòng)開發(fā)??梢哉f,水煮魚見過的 Linux 驅(qū)動(dòng)程序員,薪水在萬元以下的,一個(gè)都沒有。普遍觀點(diǎn)認(rèn)為, Linux 驅(qū)動(dòng)開發(fā)很難學(xué),這并不正確。初學(xué)者認(rèn)為 Linux 驅(qū)動(dòng)開發(fā)很難學(xué),關(guān)鍵在于其沒有選對(duì)正確的入門書籍?!?nbsp;Linux 設(shè)備驅(qū)動(dòng)程序》這本書,過去已經(jīng)有多位 Linux 項(xiàng)目經(jīng)理向水煮魚推薦過,你要想學(xué)MOD編程,想挑戰(zhàn)高薪職位,這本書讀一讀是很有必要的。當(dāng)然,這本書不是一本針對(duì)初學(xué)者的書籍,初學(xué)者應(yīng)首先學(xué)習(xí)前面提到的《UNIX環(huán)境高級(jí)編程》再看這本書,你才能真正的學(xué)懂學(xué)好 Linux 驅(qū)動(dòng)開發(fā)。
《嵌入式 Linux 應(yīng)用開發(fā)完全手冊(cè)》,韋東山著
《嵌入式 Linux 應(yīng)用開發(fā)完全手冊(cè)》,推薦指數(shù):★★★
在當(dāng)當(dāng)購買 | 在卓越購買
要說 Linux 應(yīng)用最廣泛的地方,那一定是無處不在的嵌入式設(shè)備了,《嵌入式 Linux 應(yīng)用開發(fā)完全手冊(cè)》就是一本教會(huì)您怎樣開發(fā) Linux 嵌入式系統(tǒng)軟件的一本好書。水煮魚與本書作者韋東山老師曾有過一面之緣,當(dāng)時(shí)韋老師正在寫作這本書。這本書綜合了常見的嵌入式開發(fā)經(jīng)驗(yàn)技巧,以及常見的嵌入式系統(tǒng)應(yīng)用,系統(tǒng)移植,調(diào)試及異常處理等,內(nèi)容非常豐富,是中文 Linux 領(lǐng)域難得的一本好書。嵌入式處理器種類繁多,韋老師著重講了目前國內(nèi)最常用的ARM系統(tǒng),實(shí)用性很強(qiáng),是國內(nèi)嵌入式程序員不容錯(cuò)過的一本工具書。
《人月神話》(32周年中文紀(jì)念版),布魯克斯著
《人月神話》,推薦指數(shù):★★★★★
在當(dāng)當(dāng)購買 | 在卓越購買
水煮魚上面為大家推薦了幾本 Linux 編程經(jīng)典書籍,但要問編程的最終目的是什么,那一定還是要應(yīng)用到實(shí)際項(xiàng)目中。做項(xiàng)目,那就一定離不開《人月神話》這本書?!度嗽律裨挕返淖髡卟剪斂怂?,是水煮魚所在公司的超級(jí)大牛人,也是圖靈獎(jiǎng)的獲得者。去年,他到中國訪問的時(shí)候曾經(jīng)表示,《人月神話》這本書,濃縮了項(xiàng)目實(shí)踐中的正反兩方面經(jīng)驗(yàn),是項(xiàng)目經(jīng)理和系統(tǒng)分析師必讀的一本書。水煮魚認(rèn)為,各位年輕的朋友,最終還是會(huì)要管項(xiàng)目的,與其你臨時(shí)再學(xué)習(xí),還不如早點(diǎn)接觸這方面的知識(shí)比較好??梢哉f,Linux 的項(xiàng)目,對(duì)開發(fā)者的要求都很高,大家不要去跟 Windows 程序員學(xué)一些不好的習(xí)慣,特別是項(xiàng)目實(shí)施方面的一些不好的習(xí)慣,而應(yīng)該深入體會(huì)大師的書籍。目前,《人月神話》的32周年紀(jì)念版已經(jīng)上市了,有志于成為項(xiàng)目經(jīng)理和產(chǎn)品經(jīng)理的人,不應(yīng)該錯(cuò)過這本做項(xiàng)目的圣經(jīng)。
總結(jié)
古人云:“生而知之者,上也;學(xué)而知之者,次也;困而學(xué)之,又其次也;困而不學(xué),民斯為下矣?!彼篝~認(rèn)為,正如古人所言,對(duì)于成功的 Linux 程序員,勤奮苦讀的結(jié)果,將為您的 Linux 學(xué)習(xí)之路錦上添花。對(duì)于還沒有入門的投資者,盡快熟讀一兩本入門的 Linux 書籍,對(duì)于你少走彎路是很重要的。對(duì)于已經(jīng)進(jìn)入項(xiàng)目,但還不能熟練掌握 Linux 開發(fā)的程序員,越早補(bǔ)習(xí)自己缺乏的東西,您將越早受益。對(duì)于基礎(chǔ)薄弱,又拒絕學(xué)習(xí)的程序員,或許“民斯為下矣”就將是您慘淡的結(jié)局。
評(píng)論