摘要:其他語言數(shù)據(jù)結(jié)構(gòu)跟算法一樣是在開始寫代碼的時候用得很少,都有著包裝好的現(xiàn)成東西供你使用,但同樣是面試和崗位上升會用得到,我就不說數(shù)據(jù)結(jié)構(gòu)對代碼有多少好處,請記住一句話能夠?qū)崿F(xiàn)個功能和能夠最優(yōu)地實現(xiàn)個功能,是完全不同級別的要求。
看書是學(xué)習(xí)最為實惠、有效的途徑之一,書本的優(yōu)勢就在于它的權(quán)威性和系統(tǒng)性。一本好的技術(shù)書籍均來源于在相應(yīng)領(lǐng)域有所建樹的大佬所著,比起網(wǎng)絡(luò)上懂點技術(shù)就能錄、播和賣的教程,權(quán)威性是毋庸置疑的;而且這些書籍是按照嚴(yán)格的體系來寫的,看完你是可以系統(tǒng)性地掌握知識的。
我認(rèn)為大學(xué)是最好的看書、積累知識的好時期,時間較其他時期會多一些,而且大學(xué)圖書館館藏豐富且免費,以及身邊還有諸多志同道合的師生,千萬不要錯過了這個最佳成長期。
今天來給學(xué)計算機(jī)的大學(xué)生推薦一些最值得看的技術(shù)書籍,4年的書單就可以從中挑選了!
讀書好,多讀書,讀好書!
我推薦的第一本書是《軟技能2軟件開發(fā)者職業(yè)生涯指南》,又稱“代碼之外的生存指南”。
為什么把這本書放在前面來講?在十幾年的開發(fā)生涯當(dāng)中,對我有影響的技術(shù)書籍很多,但技術(shù)會迭代和過時,而技術(shù)之外的東西,往往在十幾年里都能持續(xù)發(fā)酵,尤其是在剛開始寫代碼和工作了幾年之后這一段前中期,啟蒙和職場規(guī)劃都收益不小。
歲月流逝二十余載,從一開始上大學(xué)接觸代碼,到后來的羽翼豐滿與否都得進(jìn)入社會人潮,在IT之路上有人半道改行,有人苦苦堅持,也有人攀上高峰,以我十幾年的開發(fā)經(jīng)驗來看,限制技術(shù)人員發(fā)展的因素,往往不是技術(shù)能力,而是技術(shù)之外的軟技能。
很可惜,學(xué)校能夠教會我們硬技能,但是軟技能的教育一直都比較空缺。
《軟技能》和《軟技能2軟件開發(fā)者職業(yè)生涯指南》我都看過,都是軟件開發(fā)者的好書,個人比較推薦后者,內(nèi)容更為具體和有針對性,對于開發(fā)領(lǐng)域的講解更為透徹,書本內(nèi)容包括入行經(jīng)驗、職場求職、發(fā)展和轉(zhuǎn)型、職場技巧、自我營銷以及專業(yè)知識等等,不同階段的開發(fā)者都適合去看,每次遇到瓶頸期我都會拿出來再次重讀,頗有收獲。
有朋友說學(xué)計算機(jī)的必須精通兩門以上的編程語言,我是認(rèn)同的,但我覺得這其實可以分一下時間來,大學(xué)四年可以只精通1門語言,剩下的在后面的職場去邊工作邊學(xué)也可以的,畢竟大學(xué)雖然時間較多,但要學(xué)的東西也很多,所以大學(xué)畢業(yè)只精通1門語言也是可以的。
我建議大學(xué)可以從C/C++/Java/Python這4門語言中選擇1門精通,以下是這4門語言從入門到精通的推薦書籍,都比較全面。
1.C語言書籍——《C Primer Plus 中文版》
C語言書籍我推薦《C Primer Plus(第6版)中文版》,我自己看過很多的大學(xué)C語言課本以及課本之外的C語言書籍,在C語言入門這一塊,我暫時還沒看到比它更好的。
全書700多頁,內(nèi)容很全面,講的比較淺顯易懂,文筆還比較風(fēng)趣,知識點循循漸進(jìn)式講解,適合初學(xué)者系統(tǒng)性地學(xué)習(xí)C語言,雖然中譯的時候有局部錯誤,但絕大多數(shù)翻譯過來的書都有這個通病,如果你能發(fā)現(xiàn)出來,那說明你是真學(xué)得不錯。
這本書比起譚浩強(qiáng)的《C程序設(shè)計》要強(qiáng)上太多了,兩者根本不在一個檔次,《C Primer Plus》目前應(yīng)該是出到了第6版了,買書的話盡量買新版的,老版的知識點存在技術(shù)迭代導(dǎo)致的不適用可能性。
2.C++書籍——《C++ Primer Plus 第6版中文版》
《C++ Primer Plus 第6版中文版》作為久負(fù)盛名的C++經(jīng)典教程,豐富的教學(xué)輔助內(nèi)容、精心組織的編程示范,無論是初學(xué)者入門,或是中、高級程序員提升,都是不容置疑的首選。書本比較厚,可能短時間內(nèi)你看不完它,沒關(guān)系,4年的時間我相信完全是足夠了,不要急躁地跳著看,這本書有很多細(xì)節(jié)東西是很寶貴的。
3.Java書籍——《Java編程思想》
有一部分人認(rèn)為《Java編程思想》比較厚,1400多頁,不適合初學(xué)者,但在我看來,市面上確實有很多簡短的Java入門書籍,但大多數(shù)都是跳躍式、簡略式的書籍,讀完確實能夠入門,但是一只腳入門還是兩只腳都入門了,還另說。
《Java編程思想》我在讀大學(xué)的時候用的就是它,書中對知識點講述比較詳細(xì),很多晦澀的概念也都以通俗易懂的方式進(jìn)行講解,是業(yè)界公認(rèn)的Java好書之一。工作之后雖然有買很多新書,但唯獨鐘愛的還是它,非常系統(tǒng)的一本書籍,學(xué)技術(shù)本身就是要沉下心來做的事情,4年時間你還看不完這1本千把頁的書,你以后的技術(shù)之路是很難走下去的。
4.Python書籍——《Python編程從入門到實踐》
新手學(xué)Python的話我推薦這本《Python編程從入門到實踐》,這是一本非常小白的書籍,內(nèi)容友好,沒有深奧晦澀的知識點,講解到位,能夠讓小白快速了解Python,享受編程帶來的信心和興趣。
本書分為兩個部分:基礎(chǔ)知識和項目實戰(zhàn),先是對Python基礎(chǔ)知識循序漸進(jìn)地學(xué)習(xí),再通過一個個優(yōu)質(zhì)項目的實戰(zhàn)訓(xùn)練,培養(yǎng)自己的編程思維,分析問題的技巧和角度,絕對受益匪淺。
這本書是基于Python 3 講的,這本書作為入門書籍是沒有任何問題的,Python的常見應(yīng)用領(lǐng)域也有包含,學(xué)完基礎(chǔ)之后如果你還想擴(kuò)展到某一個具體的應(yīng)用領(lǐng)域,然后你再去找那具體應(yīng)用領(lǐng)域的書。
當(dāng)然了,以上介紹的語言書籍只是全面性的入門到精通書籍,但如果要往更細(xì)分的技術(shù)領(lǐng)域發(fā)展,那自然要找領(lǐng)域的書籍去學(xué)了,比如想往Python的數(shù)據(jù)分析這方面發(fā)展,那你可以看看《利用Python進(jìn)行數(shù)據(jù)分析》這一本進(jìn)階書籍。
眾所周知,C語言開發(fā)很少在windows上做,基本上都是基于Linux操作系統(tǒng)在做,作為一名優(yōu)秀的程序員,對于Linux的了解是必不可少的,這里我推薦《鳥哥的Linux私房菜:基礎(chǔ)學(xué)習(xí)篇》。
《鳥哥的Linux私房菜》有基礎(chǔ)學(xué)習(xí)篇和服務(wù)器進(jìn)階,新手可以學(xué)習(xí)基礎(chǔ)學(xué)習(xí)篇,非常適合剛開始學(xué)的人,講的很有針對性,實用性強(qiáng),比大多數(shù)關(guān)于電腦系統(tǒng)使用的書要好,廢話不多,幾乎是學(xué)習(xí)Linux的入門級讀物。
計算機(jī)網(wǎng)絡(luò)是每個學(xué)計算機(jī)的人必修的東西,大部分學(xué)校都應(yīng)該安排了這1門課程,但很多課本教材選的不是很好,比較晦澀難懂,再加上有些學(xué)校更偏向于考試結(jié)果,對于上課的內(nèi)容也是簡之又簡,實在很難想象這么學(xué)完的人能說他懂計算機(jī)網(wǎng)絡(luò)。
不懂計算機(jī)網(wǎng)絡(luò),算不得是優(yōu)秀的開發(fā)者,就像前幾天在一個粉絲在我文章評論區(qū)講的“…現(xiàn)在雖然程序能跑,但是不了解相關(guān)原理,學(xué)了一段時間后,感覺很空中樓閣一樣,很虛…”
關(guān)于計算機(jī)網(wǎng)絡(luò)我推薦《計算機(jī)網(wǎng)絡(luò) 自頂向下方法》這本書,這是1本很適合自學(xué)的書,翻譯做不錯,必要的術(shù)語都留有英文,讀起來還是挺順暢的;書中的內(nèi)容講解得比較細(xì)致但卻不繁瑣,避免了新手看了不知所措,還有1個亮點就是書本還講了無線網(wǎng)絡(luò)、網(wǎng)絡(luò)安全、多媒體網(wǎng)絡(luò)這3塊東西,這在其他的計算機(jī)網(wǎng)絡(luò)書籍中講的不多,但它們卻都很實用。
說實話,90%以上的程序員在開發(fā)過程中很少自己寫算法,但凡設(shè)計到算法的東西,一般都會去用去找現(xiàn)成的庫或者框架以及去Google相應(yīng)的解決方案和代碼實現(xiàn),只有極少數(shù)人會用到算法,但為什么還要在這里推薦算法書籍?
首先,程序員這個職業(yè)它確實自己寫算法的人極少,但面試的時候要用,尤其是大廠面試喜歡問算法;再者就是崗位上升可能會用到,一般的寫業(yè)務(wù)代碼的用不到,但未來無限可能,難道你就這么一開始就把自己的起跑線定得這么低嗎?就算你寫出來的東西沒有現(xiàn)有算法成熟,但那就已經(jīng)是個不錯的開始了,以后誰知道呢?
所以對大學(xué)生而言,我覺得算法得學(xué)。
我推薦《算法》這本,與算法領(lǐng)域著作《算法導(dǎo)論》一樣出名,但兩者各有優(yōu)劣,《算法導(dǎo)論》在學(xué)術(shù)水平上會更高一些,這也是為什么很多高校的算法教材選它的原因;《算法》這本書則更注重解決實際問題,實戰(zhàn)性會更強(qiáng),它是基于Java寫的,比起其他的經(jīng)典算法書,這本書更適合初學(xué)者去學(xué)。
數(shù)據(jù)結(jié)構(gòu)跟算法一樣是在開始寫代碼的時候用得很少,都有著包裝好的現(xiàn)成東西供你使用,但同樣是面試和崗位上升會用得到,我就不說數(shù)據(jù)結(jié)構(gòu)對代碼有多少好處,請記住一句話:
“能夠?qū)崿F(xiàn)1個功能和能夠最優(yōu)地實現(xiàn)1個功能,是完全不同級別的要求”。
能實現(xiàn)1個功能是普通程序員會的,能夠最優(yōu)地實現(xiàn)1個功能才是優(yōu)秀程序員的能力所在,假如你的老板跟你說這一段代碼太慢了或者占空間過大,要你改,你怎么去做優(yōu)化?
所以數(shù)據(jù)結(jié)構(gòu)也是要學(xué)的,數(shù)據(jù)結(jié)構(gòu)和算法可根據(jù)你擅長的語言去選擇。
寫代碼的大學(xué)生我建議去看看《重構(gòu) 改善既有代碼的設(shè)計》這本書。
這是一本對許多開發(fā)者都有著深遠(yuǎn)影響的好書,不僅能夠在做項目或者工作過程中樹立一種重構(gòu)的思想,而且能教會我們很多重構(gòu)的細(xì)節(jié),對于我個人來說,對我的影響同樣是很大的,尤其是在剛寫代碼的前幾年,能夠大幅提升我代碼質(zhì)量,是一本不錯的程序員工具書。
現(xiàn)在《重構(gòu)》已經(jīng)出到了第2版,只是我自己沒有去買了,一是自己已經(jīng)不做一線開發(fā)工作了,二是重構(gòu)的思想和方法,我已經(jīng)熟記于心了,夠用了。
這本書可以在大學(xué)的后期去看看,這個時候的你也算是寫了一兩年的代碼了,在進(jìn)入職場之前,去看看它是很有益的。
如果你想做一些拿得出手的項目,那么往細(xì)分領(lǐng)域去延伸是很有必要的,比如往前端、后端、網(wǎng)絡(luò)安全等方向去深入學(xué)習(xí)1個你喜歡的領(lǐng)域,這里我就不細(xì)講了,篇幅有點長,我就直接說一些我覺得還不錯的書名了,大家有興趣的可以去網(wǎng)上看看。
1.前端開發(fā)推薦書籍
①《JavaScript語言精粹》
②《JavaScript高級程序設(shè)計》
③《ES6標(biāo)準(zhǔn)入門》
2.后端開發(fā)推薦書籍
①《SQL必知必會》或《高性能MySQL》二選一,掌握數(shù)據(jù)庫。
②《Effective Java 中文版》,目前應(yīng)該出到了第3版吧,有能力的可以去看英文原版,原版更為精妙一些。
③《圖解HTTP》
3.自動化測試推薦書籍
①《Selenium3自動化測試實戰(zhàn)——基于Python語言》,適合零基礎(chǔ)。
4.人工智能推薦書籍
①《統(tǒng)計學(xué)習(xí)方法(第2版)》,這是國內(nèi)少有的機(jī)器學(xué)習(xí)巔峰之作,由李航所作,比起周志華的西瓜書《機(jī)器學(xué)習(xí)》強(qiáng)太多了。
②《Python深度學(xué)習(xí)》,深度學(xué)習(xí)經(jīng)典之作。
5.網(wǎng)絡(luò)安全
①《黑客攻防實戰(zhàn)詳解 第2版》,最佳的防御,是懂得如何攻擊。
6.數(shù)據(jù)分析
①《Python數(shù)據(jù)分析基礎(chǔ)教程》,人民郵電出版社2020年出版的,適合零基礎(chǔ)者進(jìn)行學(xué)習(xí)。
②《Python數(shù)據(jù)科學(xué)手冊》,Python數(shù)據(jù)分析進(jìn)階好書。
7.網(wǎng)絡(luò)爬蟲
①《Python 3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)》,適合零基礎(chǔ)。
②《Python網(wǎng)絡(luò)數(shù)據(jù)采集》,適合進(jìn)階。
上面所介紹的書籍可能并非全部都是最新版本的,我已經(jīng)過了要緊追技術(shù)新潮的年紀(jì)了,所以大家在看書之前可以去網(wǎng)上查一下有沒有出新版。
可能對于很多人來說,完成工作內(nèi)容需要的東西可能并不是很多,但如果你不甘于用時間來換空間這么一種職場模式,你想去做出更多、更好的成績,你就會發(fā)現(xiàn)自己的知識儲備遠(yuǎn)遠(yuǎn)不夠。
所以你們的大學(xué),多儲備一些知識,以后的路會更好走一些,加油!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/119665.html
摘要:相關(guān)推薦,豆瓣評分,人評價本書介紹了在編程中條極具實用價值的經(jīng)驗規(guī)則,這些經(jīng)驗規(guī)則涵蓋了大多數(shù)開發(fā)人員每天所面臨的問題的解決方案。實戰(zhàn)高并發(fā)程序設(shè)計推薦豆瓣評分,書的質(zhì)量沒的說,推薦大家好好看一下。 該文已加入開源文檔:JavaGuide(一份涵蓋大部分Java程序員所需要掌握的核心知識)。地址:https://github.com/Snailclimb... 【強(qiáng)烈推薦!非廣告!】...
摘要:實戰(zhàn)高并發(fā)程序設(shè)計推薦豆瓣評分書的質(zhì)量沒的說,推薦大家好好看一下。推薦,豆瓣評分,人評價本書介紹了在編程中條極具實用價值的經(jīng)驗規(guī)則,這些經(jīng)驗規(guī)則涵蓋了大多數(shù)開發(fā)人員每天所面臨的問題的解決方案。 很早就想把JavaGuide的書單更新一下了,昨晚加今天早上花了幾個時間對之前的書單進(jìn)行了分類和補(bǔ)充完善。雖是終極版,但一定還有很多不錯的 Java 書籍我沒有添加進(jìn)去,會繼續(xù)完善下去。希望這篇...
閱讀 1996·2021-09-09 09:33
閱讀 1118·2019-08-30 15:43
閱讀 2671·2019-08-30 13:45
閱讀 3312·2019-08-29 11:00
閱讀 863·2019-08-26 14:01
閱讀 3576·2019-08-26 13:24
閱讀 487·2019-08-26 11:56
閱讀 2696·2019-08-26 10:27