疫情之下的今年,小編也不知道程序員的求職之路是否順暢,開(kāi)學(xué)季也不清楚是哪個(gè)月份,如果還沒(méi)有畢業(yè)的計(jì)算機(jī)專業(yè)的你,需要看一下這份書(shū)單,為將來(lái)走出校門做準(zhǔn)備,雖然這樣的書(shū)單很多人推薦過(guò),小編還是想親自來(lái)一份。當(dāng)然,程序員也非常適用此書(shū)單。
[美] 喬恩·本特利(Jon Bentley) 著,黃倩,錢麗艷 譯
《編程珠璣》第一版是我早期職業(yè)生涯中閱讀過(guò)的對(duì)我影響較大的書(shū)籍之一,在書(shū)中首次接觸到的很多觀點(diǎn)都讓我長(zhǎng)期受益。作者在這一版本中做了重要更新。新增加的很多例子讓我耳目一新。
——Steve McConnell,《代碼大全》作者
這兩本書(shū)不僅被用作大學(xué)低年級(jí)數(shù)據(jù)結(jié)構(gòu)與算法課程的教材,還用作高年級(jí)算法課程的輔助教材。例如,美國(guó)著名大學(xué)麻省理工學(xué)院的電氣工程與計(jì)算機(jī)科學(xué)開(kāi)放式核心課程算法導(dǎo)論就將這兩本書(shū)列為推薦讀物。這兩本書(shū)覆蓋了大學(xué)算法課程和數(shù)據(jù)結(jié)構(gòu)課程的大部分內(nèi)容,但是與普通教材的側(cè)重點(diǎn)又不一樣,不強(qiáng)調(diào)單純從數(shù)學(xué)上來(lái)進(jìn)行分析的技巧,而是強(qiáng)調(diào)結(jié)合實(shí)際問(wèn)題來(lái)進(jìn)行分析、應(yīng)用和實(shí)現(xiàn)的技巧,因此可作為大學(xué)計(jì)算機(jī)專業(yè)的算法、數(shù)據(jù)結(jié)構(gòu)、軟件工程等課程的教師參考用書(shū)和優(yōu)秀課外讀物。
[美] 馬丁·福勒(Martin Fowler) 著,熊節(jié),林從羽 譯
本書(shū)是一本為專業(yè)程序員編寫(xiě)的重構(gòu)指南。我的目的是告訴你如何以一種可控且高效的方式進(jìn)行重構(gòu)。你將學(xué)會(huì)如何有條不紊地改進(jìn)程序結(jié)構(gòu),而且不會(huì)引入錯(cuò)誤,這就是正確的重構(gòu)方式。
盡管本書(shū)的關(guān)注對(duì)象是代碼,但重構(gòu)對(duì)于系統(tǒng)設(shè)計(jì)也有巨大影響。資深設(shè)計(jì)師和架構(gòu)師也很有必要了解重構(gòu)原理,并在自己的項(xiàng)目中運(yùn)用重構(gòu)技術(shù)。最好是由有威望的、經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員來(lái)引入重構(gòu)技術(shù),因?yàn)檫@樣的人最能夠透徹理解重構(gòu)背后的原理,并根據(jù)情況加以調(diào)整,使之適用于特定工作領(lǐng)域。如果你使用的不是JavaScript而是其他編程語(yǔ)言,這一點(diǎn)尤其重要,因?yàn)槟惚仨毎盐医o出的范例用其他編程語(yǔ)言改寫(xiě)。
下面我要告訴你,如何能夠在不通讀全書(shū)的情況下充分用好它。
[美] 羅伯特·C.馬?。≧obert C.Martin) 著,余晟,章顯洲 譯
軟件開(kāi)發(fā)大師Robert C. Martin在書(shū)中介紹了真實(shí)軟件技藝中的各項(xiàng)原則、技術(shù)、工具和實(shí)踐,展示了怎么以自豪、自尊和自信的心態(tài)進(jìn)行軟件開(kāi)發(fā),怎么取得卓越表現(xiàn)和豐碩成果,怎么做到有效溝通和確切估算,怎么以坦誠(chéng)的心態(tài)面對(duì)困難,并引導(dǎo)讀者認(rèn)識(shí)到專業(yè)程序員肩負(fù)的責(zé)任重大,闡述了什么才是程序員的職業(yè)素養(yǎng)。
書(shū)中的具體內(nèi)容包括:
● 成為真正的軟件專業(yè)人士需要具備哪些條件,如何應(yīng)對(duì)彼此沖突又緊張的進(jìn)度表和不近情理的管理人員;
● 如何做到流暢編程,克服阻塞狀態(tài);
● 如何應(yīng)對(duì)無(wú)休止的工作壓力,避免崩潰;
● 如何培養(yǎng)堅(jiān)持不懈的態(tài)度,如何擁抱新的開(kāi)發(fā)范式;
● 如何管理好時(shí)間,避免身陷泥潭無(wú)法自拔;
● 如何培育有利于程序員和開(kāi)發(fā)團(tuán)隊(duì)茁壯成長(zhǎng)的環(huán)境;
● 什么時(shí)候應(yīng)該說(shuō)“不”,怎么說(shuō);
● 什么時(shí)候應(yīng)該說(shuō)“是”,承諾意味著什么。
羅伯特·C.,馬?。≧obert,C.,Martin) 著,韓磊 譯
你的代碼在哪道門后面?你的團(tuán)隊(duì)或公司在哪道門后面?為什么會(huì)在那里?只是一次普通的代碼復(fù)查,還是產(chǎn)品面世后才發(fā)現(xiàn)一連串嚴(yán)重問(wèn)題?我們是否在戰(zhàn)戰(zhàn)兢兢地調(diào)試自己之前錯(cuò)以為沒(méi)問(wèn)題的代碼?客戶是否在流失?經(jīng)理們是否把我們盯得如芒刺在背?當(dāng)事態(tài)變得嚴(yán)重起來(lái),如何保證我們?cè)谀堑勒_的門后做補(bǔ)救工作?答案是:技藝(craftsmanship)。
本書(shū)提出一種觀念:代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護(hù)、升級(jí)奠定了良好基礎(chǔ)。作為編程領(lǐng)域的佼佼者,本書(shū)作者給出了一系列行之有效的整潔代碼操作實(shí)踐。這些實(shí)踐在本書(shū)中體現(xiàn)為一條條規(guī)則(或稱“啟示”),并輔以來(lái)自現(xiàn)實(shí)項(xiàng)目的正、反兩面的范例。只要遵循這些規(guī)則,就能編寫(xiě)出干凈的代碼,從而有效提升代碼質(zhì)量。
這是一本為軟件開(kāi)發(fā)者量身定做的職業(yè)發(fā)展指南,處于任何發(fā)展階段的軟件開(kāi)發(fā)者,都將從本書(shū)中獲益。如果你是軟件開(kāi)發(fā)/編程的初學(xué)者或者只是對(duì)軟件開(kāi)發(fā)感興趣的人士,可以通過(guò)本書(shū)了解如何開(kāi)啟軟件開(kāi)發(fā)的職業(yè)之旅,如何獲得第一份工作;如果你是中級(jí)軟件開(kāi)發(fā)者,可以通過(guò)本書(shū)發(fā)現(xiàn)自己的知識(shí)短板,學(xué)會(huì)如何進(jìn)一步拓展和掌握新的技術(shù)技能,如何學(xué)習(xí)新的編程語(yǔ)言,如何提升技術(shù)水平,如何在自己夢(mèng)想的編程工作中深耕細(xì)作;如果你是身經(jīng)百戰(zhàn)的專業(yè)軟件開(kāi)發(fā)者,可以通過(guò)本書(shū)了解如何拓展和推進(jìn)自己的職業(yè)生涯,如何更好地與同事和老板相處,如何推銷自己的想法,如何做好向上管理,如何升職加薪。
作為一個(gè)軟件開(kāi)發(fā)人員,在我的生活中,我經(jīng)歷過(guò)許多不同的旅程。我曾走在陽(yáng)關(guān)大道,也曾誤入歧途,還有一些路我至今仍不知是對(duì)還是錯(cuò)。這一路走來(lái),我并沒(méi)有得到太多的幫助和指導(dǎo)。我從來(lái)沒(méi)覺(jué)得有誰(shuí)為我披荊斬棘,開(kāi)辟出一條小路使我可以因循,也從來(lái)沒(méi)覺(jué)得有誰(shuí)可以告訴我如何成為一名最成功的軟件開(kāi)發(fā)人員——不能只編寫(xiě)代碼,還要有精彩的人生。
當(dāng)然,也曾有過(guò)許多人影響了我的人生,也有許多人教導(dǎo)我各種各樣的有關(guān)軟件開(kāi)發(fā)的事情(以及更多)。毋庸諱言,我一生中取得的成功,部分應(yīng)歸功于他們。但我確實(shí)從來(lái)沒(méi)有發(fā)現(xiàn)某位人士或某個(gè)導(dǎo)師,能夠把以下信息匯集在一起,例如:
作者: 【美】W. Richard Stevens Stephen A.Rago,譯者: 戚正偉 ,張亞英 ,尤晉元。
豆瓣評(píng)論
本書(shū)的第一章是UNIX基礎(chǔ)知識(shí),這是這類的每一本書(shū)籍所慣常有的,可以使讀者先大致了解一些相關(guān)的情況。第二章比較重要,它講解了貫穿本書(shū)的三個(gè)標(biāo)準(zhǔn):ISO C, IEEE POSIX, Single UNIX Specification 。每一個(gè)標(biāo)準(zhǔn)都是前一個(gè)的超集。這也是程序員在開(kāi)發(fā)可移植性強(qiáng)的程序時(shí)所必須考慮的。然后接下來(lái)就詳細(xì)講解了各種I/O,因?yàn)檫@是程序最常用到的。接著是進(jìn)程相關(guān)的內(nèi)容,這也I/O一樣,是本書(shū)的兩大重點(diǎn)之一。當(dāng)然,講解完進(jìn)程少不了對(duì)線程的介紹,這是能大大地提高程序性能的一種技術(shù)。書(shū)本的后半部分主要講解進(jìn)程間通信,我感覺(jué)這是一種比較高級(jí)的技術(shù),在大型程序當(dāng)中特別重要。
讀完之后覺(jué)得意猶未盡。真是一本神書(shū)!它講解得太好了
【美】W. Richard Stevens Bill Fenner Andrew M. Rudoff著
這是一部傳世之作!網(wǎng)絡(luò)編程專家Bill Fenner和Andrew M.Rudoff 應(yīng)邀執(zhí)筆,對(duì)W.RichardStevens 的作品進(jìn)行修訂。
豆瓣評(píng)論
Richard老大的書(shū)就是不同凡響,以前斷斷續(xù)續(xù)的看過(guò)這本書(shū)的前幾個(gè)章節(jié),就放棄不看了,其原因不過(guò)是自己以為這本書(shū)只是個(gè)單純的API的Reference book. 沒(méi)有必要仔細(xì)研讀, 現(xiàn)在看來(lái)自己是大錯(cuò)特錯(cuò)了。
首先,這本書(shū)是現(xiàn)在我讀到的最好的,把幾個(gè)I/O model講的很清楚的書(shū),獨(dú)一無(wú)二。 書(shū)中的例子很好, 很有啟發(fā)性。
其次, 這本書(shū)很好的把TCP protocol 的細(xì)節(jié)和實(shí)際編程結(jié)合在一起, 當(dāng)我把TCP/IP illustrated vol.1在讀了一遍, 再看看這本書(shū),真是獲益匪淺啊。
不過(guò),書(shū)中的一些章節(jié)還是作為Reference book 看為好,都是純粹的介紹, 用時(shí)再看也不遲,不過(guò), 就怕到用時(shí),記不得書(shū)中有如此的介紹。
兩卷本的《UNIX網(wǎng)絡(luò)編程》是已故著名技術(shù)作家W. Richard Stevens的傳世之作。卷2著重討論如何讓?xiě)?yīng)用程序與在其他機(jī)器上的應(yīng)用程序進(jìn)行對(duì)話。良好的進(jìn)程間通信(IPC)機(jī)制是提高UNIX程序性能的關(guān)鍵?!禪NIX網(wǎng)絡(luò)編程 卷2 進(jìn)程間通信(第2版)》全面深入地講解了各種進(jìn)程間通信形式,包括消息傳遞、同步、共享內(nèi)存及遠(yuǎn)程過(guò)程調(diào)用(RPC)。書(shū)中包含了大量經(jīng)過(guò)優(yōu)化的源代碼,幫助讀者加深理解。這些源代碼可以從本書(shū)網(wǎng)站下載。《UNIX網(wǎng)絡(luò)編程 卷2 進(jìn)程間通信(第2版)》是網(wǎng)絡(luò)研究和開(kāi)發(fā)人員公認(rèn)的專業(yè)參考書(shū),無(wú)論網(wǎng)絡(luò)編程的初學(xué)者還是網(wǎng)絡(luò)專家都會(huì)大受裨益。
如果你是讀這本書(shū)的學(xué)生,那么我們很榮幸能夠提供一些材料來(lái)幫助你學(xué)習(xí)操作系統(tǒng)的知識(shí)。我們至今還能夠回想起我們使用過(guò)的一些教科書(shū)(例如,Hennessy和Patterson的著作[HP90],這是一本關(guān)于計(jì)算機(jī)架構(gòu)的經(jīng)典著作),并希望這本書(shū)能夠成為你美好的回憶之一。
你可能已經(jīng)注意到,這本書(shū)英文版的在線版本是免費(fèi)的,并且可在線獲取[1]。有一個(gè)主要原因:教科書(shū)一般都太貴了。我們希望,這本書(shū)是新一波免費(fèi)材料中的第一本(指電子版),以幫助那些尋求知識(shí)的人—— 無(wú)論他們來(lái)自哪個(gè)國(guó)家,或者他們?cè)敢饣ǘ嗌馘X購(gòu)買一本書(shū)。
我們也希望,在可能的情況下,向你指出書(shū)中大部分材料的原始資料—— 多年來(lái)的優(yōu)秀論文和人物,他們讓操作系統(tǒng)領(lǐng)域成為現(xiàn)在的樣子。想法不會(huì)憑空產(chǎn)生,它們來(lái)自聰明勤奮的人(包括眾多圖靈獎(jiǎng)獲得者[2]),因此如果有可能,我們應(yīng)該贊美這些想法和人。我們希望這樣做能有助于更好地理解已經(jīng)發(fā)生的變革,而不是說(shuō)好像我們寫(xiě)這本書(shū)時(shí)那些思想一直就存在一樣[K62]。此外,也許這樣的參考文獻(xiàn)能夠鼓勵(lì)你深入挖掘,而閱讀該領(lǐng)域的著名論文無(wú)疑是良好的學(xué)習(xí)方法之一。
《C專家編程》可以幫助有一定經(jīng)驗(yàn)的C程序員成為C編程方面的專家,對(duì)于具備相當(dāng)?shù)腃語(yǔ)言基礎(chǔ)的程序員,《C專家編程》可以幫助他們站在C的高度了解和學(xué)習(xí)C 。書(shū)本擷取了幾十個(gè)實(shí)例,細(xì)致、深入地講解了C的歷史、語(yǔ)言特性、聲明、數(shù)組、指針、鏈接、運(yùn)行時(shí)、內(nèi)存以及分析了如何進(jìn)一步學(xué)習(xí)C 等問(wèn)題?!禖專家編程》是一本ANSIC編程語(yǔ)言的高級(jí)讀本。它適用于已經(jīng)編寫(xiě)過(guò)C程序的人,以及那些想迅速獲取一些專家觀點(diǎn)和技巧的人。專家級(jí)的C編程指南展示C程序員的編程技巧。
《C和C 經(jīng)典著作:C陷阱與缺陷》適合有一定經(jīng)驗(yàn)的C程序員閱讀學(xué)習(xí),即便你是C編程高手,《C和C 經(jīng)典著作:C陷阱與缺陷》也應(yīng)該成為你的案頭必備書(shū)籍。作者以自己1985年在Bell實(shí)驗(yàn)室時(shí)發(fā)表的一篇論文為基礎(chǔ),結(jié)合自己的工作經(jīng)驗(yàn)擴(kuò)展成為這本對(duì)C程序員具有珍貴價(jià)值的經(jīng)典著作。
《C和C 經(jīng)典著作:C陷阱與缺陷》的出發(fā)點(diǎn)不是要批判C語(yǔ)言,而是要幫助C程序員繞過(guò)編程過(guò)程中的陷阱和障礙?!禖和C 經(jīng)典著作:C陷阱與缺陷》分為8章,分別從詞法分析、語(yǔ)法語(yǔ)義、連接、庫(kù)函數(shù)、預(yù)處理器、可移植性缺陷等幾個(gè)方面分析了C編程中可能遇到的問(wèn)題。結(jié)尾,作者用一章的篇幅給出了若干具有實(shí)用價(jià)值的建議。
《C和指針 POINTERS ON C》提供與C語(yǔ)言編程相關(guān)的全面資源和深入討論。本書(shū)通過(guò)對(duì)指針的基礎(chǔ)知識(shí)和高級(jí)特性的探討,幫助程序員把指針的強(qiáng)大功能融入到自己的程序中去。全書(shū)共18章,覆蓋了數(shù)據(jù)、語(yǔ)句、操作符和表達(dá)式、指針、函數(shù)、數(shù)組、字符串、結(jié)構(gòu)和聯(lián)合等幾乎所有重要的C編程話題。書(shū)中給出了很多編程技巧和提示,每章后面有針對(duì)性很強(qiáng)的練習(xí),附錄部分則給出了部分練習(xí)的解答。本書(shū)適合C語(yǔ)言初學(xué)者和初級(jí)c程序員閱讀,也可作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)c語(yǔ)言的參考。
《C Primer Plus(第6版)中文版》共17章。第1、2章介紹了C語(yǔ)言編程的預(yù)備知識(shí)。第3~15章詳細(xì)講解了C語(yǔ)言的相關(guān)知識(shí),包括數(shù)據(jù)類型、格式化輸入/輸出、運(yùn)算符、表達(dá)式、語(yǔ)句、循環(huán)、字符輸入和輸出、函數(shù)、數(shù)組和指針、字符和字符串函數(shù)、內(nèi)存管理、文件輸入輸出、結(jié)構(gòu)、位操作等。第16章、17章介紹C預(yù)處理器、C庫(kù)和高級(jí)數(shù)據(jù)表示。本書(shū)以完整的程序?yàn)槔?,講解C語(yǔ)言的知識(shí)要點(diǎn)和注意事項(xiàng)。每章末設(shè)計(jì)了大量復(fù)習(xí)題和編程練習(xí),幫助讀者鞏固所學(xué)知識(shí)和提高實(shí)際編程能力。附錄給出了各章復(fù)習(xí)題的參考答案和豐富的參考資料。《C Primer Plus(第6版)中文版》可作為C語(yǔ)言的教材,適用于需要系統(tǒng)學(xué)習(xí)C語(yǔ)言的初學(xué)者,也適用于鞏固C語(yǔ)言知識(shí)或希望進(jìn)一步提高編程技術(shù)的程序員。
小編就篇整理這么多吧,希望對(duì)你能有所幫助。祝您閱讀愉快!
聯(lián)系客服