前言
看書是學習最為實惠、有效的途徑之一,書本的優勢就在于它的權威性和系統性,一本好的技術書籍均來源于在相應領域有所建樹的大佬所著,比起網路上懂點技術就能錄、播和賣的教程,權威性是毋庸置疑的;而且這些書籍是按照嚴格的體系來寫的,看完你是可以系統性地掌握知識的,
我認為大學是最好的看書、積累知識的好時期,時間較其他時期會多一些,而且大學圖書館館藏豐富且免費,以及身邊還有諸多志同道合的師生,千萬不要錯過了這個最佳成長期,
今天來給學計算機的大學生推薦一些最值得看的技術書籍,4年的書單就可以從中挑選了!
讀書好,多讀書,讀好書!

一、代碼之外的生存指南
我推薦的第一本書是《軟技能2軟體開發者職業生涯指南》,又稱“代碼之外的生存指南”,
為什么把這本書放在前面來講?在十幾年的開發生涯當中,對我有影響的技術書籍很多,但技識訓迭代和過時,而技術之外的東西,往往在十幾年里都能持續發酵,尤其是在剛開始寫代碼和作業了幾年之后這一段前中期,啟蒙和職場規劃都收益不小,
歲月流逝二十余載,從一開始上大學接觸代碼,到后來的羽翼豐滿與否都得進入社會人潮,在IT之路上有人半道改行,有人苦苦堅持,也有人攀上高峰,以我十幾年的開發經驗來看,限制技術人員發展的因素,往往不是技術能力,而是技術之外的軟技能,
很可惜,學校能夠教會我們硬技能,但是軟技能的教育一直都比較空缺,
《軟技能》和《軟技能2軟體開發者職業生涯指南》我都看過,都是軟體開發者的好書,個人比較推薦后者,內容更為具體和有針對性,對于開發領域的講解更為透徹,書本內容包括入行經驗、職場求職、發展和轉型、職場技巧、自我營銷以及專業知識等等,不同階段的開發者都適合去看,每次遇到瓶頸期我都會拿出來再次重讀,頗有識訓,

二、 語言書籍
有朋友說學計算機的必須精通兩門以上的編程語言,我是認同的,但我覺得這其實可以分一下時間來,大學四年可以只精通1門語言,剩下的在后面的職場去邊作業邊學也可以的,畢竟大學雖然時間較多,但要學的東西也很多,所以大學畢業只精通1門語言也是可以的,
我建議大學可以從C/C++/Java/Python這4門語言中選擇1門精通,以下是這4門語言從入門到精通的推薦書籍,都比較全面,
1.C語言書籍——《C Primer Plus 中文版》
C語言書籍我推薦《C Primer Plus(第6版)中文版》,我自己看過很多的大學C語言課本以及課本之外的C語言書籍,在C語言入門這一塊,我暫時還沒看到比它更好的,

全書700多頁,內容很全面,講的比較淺顯易懂,文筆還比較風趣,知識點循循漸進式講解,適合初學者系統性地學習C語言,雖然中譯的時候有區域錯誤,但絕大多數翻譯過來的書都有這個通病,如果你能發現出來,那說明你是真學得不錯,
這本書比起譚浩強的《C程式設計》要強上太多了,兩者根本不在一個檔次,《C Primer Plus》目前應該是出到了第6版了,買書的話盡量買新版的,老版的知識點存在技術迭代導致的不適用可能性,
2.C++書籍——《C++ Primer Plus 第6版中文版》
《C++ Primer Plus 第6版中文版》作為久負盛名的C++經典教程,豐富的教學輔助內容、精心組織的編程示范,無論是初學者入門,或是中、高級程式員提升,都是不容置疑的首選,書本比較厚,可能短時間內你看不完它,沒關系,4年的時間我相信完全是足夠了,不要急躁地跳著看,這本書有很多細節東西是很寶貴的,

3.Java書籍——《Java編程思想》
有一部分人認為《Java編程思想》比較厚,1400多頁,不適合初學者,但在我看來,市面上確實有很多簡短的Java入門書籍,但大多數都是跳躍式、簡略式的書籍,讀完確實能夠入門,但是一只腳入門還是兩只腳都入門了,還另說,
《Java編程思想》我在讀大學的時候用的就是它,書中對知識點講述比較詳細,很多晦澀的概念也都以通俗易懂的方式進行講解,是業界公認的Java好書之一,作業之后雖然有買很多新書,但唯獨鐘愛的還是它,非常系統的一本書籍,學技術本身就是要沉下心來做的事情,4年時間你還看不完這1本千把頁的書,你以后的技術之路是很難走下去的,

4.Python書籍——《Python編程從入門到實踐》
新手學Python的話我推薦這本《Python編程從入門到實踐》,這是一本非常小白的書籍,內容友好,沒有深奧晦澀的知識點,講解到位,能夠讓小白快速了解Python,享受編程帶來的信心和興趣,
本書分為兩個部分:基礎知識和專案實戰,先是對Python基礎知識循序漸進地學習,再通過一個個優質專案的實戰訓練,培養自己的編程思維,分析問題的技巧和角度,絕對受益匪淺,

這本書是基于Python 3 講的,這本書作為入門書籍是沒有任何問題的,Python的常見應用領域也有包含,學完基礎之后如果你還想擴展到某一個具體的應用領域,然后你再去找那具體應用領域的書,
當然了,以上介紹的語言書籍只是全面性的入門到精通書籍,但如果要往更細分的技術領域發展,那自然要找領域的書籍去學了,比如想往Python的資料分析這方面發展,那你可以看看《利用Python進行資料分析》這一本進階書籍,
三、Linux書籍
眾所周知,C語言開發很少在windows上做,基本上都是基于Linux作業系統在做,作為一名優秀的程式員,對于Linux的了解是必不可少的,這里我推薦《鳥哥的Linux私房菜:基礎學習篇》,
《鳥哥的Linux私房菜》有基礎學習篇和服務器進階,新手可以學習基礎學習篇,非常適合剛開始學的人,講的很有針對性,實用性強,比大多數關于電腦系統使用的書要好,廢話不多,幾乎是學習Linux的入門級讀物,

四、計算機網路書籍
計算機網路是每個學計算機的人必修的東西,大部分學校都應該安排了這1門課程,但很多課本教材選的不是很好,比較晦澀難懂,再加上有些學校更偏向于考試結果,對于上課的內容也是簡之又簡,實在很難想象這么學完的人能說他懂計算機網路,
不懂計算機網路,算不得是優秀的開發者,就像前幾天在一個粉絲在我文章評論區講的“…現在雖然程式能跑,但是不了解相關原理,學了一段時間后,感覺很空中樓閣一樣,很虛…”
關于計算機網路我推薦《計算機網路 自頂向下方法》這本書,這是1本很適合自學的書,翻譯做不錯,必要的術語都留有英文,讀起來還是挺順暢的;書中的內容講解得比較細致但卻不繁瑣,避免了新手看了不知所措,還有1個亮點就是書本還講了無線網路、網路安全、多媒體網路這3塊東西,這在其他的計算機網路書籍中講的不多,但它們卻都很實用,

五、資料結構和演算法書籍
(1)Java演算法
說實話,90%以上的程式員在開發程序中很少自己寫演算法,但凡設計到演算法的東西,一般都會去用去找現成的庫或者框架以及去Google相應的解決方案和代碼實作,只有極少數人會用到演算法,但為什么還要在這里推薦演算法書籍?
首先,程式員這個職業它確實自己寫演算法的人極少,但面試的時候要用,尤其是大廠面試喜歡問演算法;再者就是崗位上升可能會用到,一般的寫業務代碼的用不到,但未來無限可能,難道你就這么一開始就把自己的起跑線定得這么低嗎?就算你寫出來的東西沒有現有演算法成熟,但那就已經是個不錯的開始了,以后誰知道呢?
所以對大學生而言,我覺得演算法得學,
我推薦《演算法》這本,與演算法領域著作《演算法導論》一樣出名,但兩者各有優劣,《演算法導論》在學術水平上會更高一些,這也是為什么很多高校的演算法教材選它的原因;《演算法》這本書則更注重解決實際問題,實戰性會更強,它是基于Java寫的,比起其他的經典演算法書,這本書更適合初學者去學,

(2)其他語言
資料結構跟演算法一樣是在開始寫代碼的時候用得很少,都有著包裝好的現成東西供你使用,但同樣是面試和崗位上升會用得到,我就不說資料結構對代碼有多少好處,請記住一句話:
“能夠實作1個功能和能夠最優地實作1個功能,是完全不同級別的要求”,
能實作1個功能是普通程式員會的,能夠最優地實作1個功能才是優秀程式員的能力所在,假如你的老板跟你說這一段代碼太慢了或者占空間過大,要你改,你怎么去做優化?
所以資料結構也是要學的,資料結構和演算法可根據你擅長的語言去選擇,
- C++的話推薦《資料結構(C++語言版)》;
- C語言的話推薦《資料結構與演算法分析 C語言描述》;
- Java的話可以去看前面那本《演算法》,如果想演算法和資料結構一起看的話,可以看《資料結構與演算法分析 Java語言描述》這本;
- Python可以去看《資料結構與演算法 Python語言描述》;
- JavaScript的話,可以去看《學習JavaScript資料結構與演算法(第3版)》,

六、代碼書籍
寫代碼的大學生我建議去看看《重構 改善既有代碼的設計》這本書,
這是一本對許多開發者都有著深遠影響的好書,不僅能夠在做專案或者作業程序中樹立一種重構的思想,而且能教會我們很多重構的細節,對于我個人來說,對我的影響同樣是很大的,尤其是在剛寫代碼的前幾年,能夠大幅提升我代碼質量,是一本不錯的程式員工具書,
現在《重構》已經出到了第2版,只是我自己沒有去買了,一是自己已經不做一線開發作業了,二是重構的思想和方法,我已經熟記于心了,夠用了,
這本書可以在大學的后期去看看,這個時候的你也算是寫了一兩年的代碼了,在進入職場之前,去看看它是很有益的,

七、其他書籍
如果你想做一些拿得出手的專案,那么往細分領域去延伸是很有必要的,比如往前端、后端、網路安全等方向去深入學習1個你喜歡的領域,這里我就不細講了,篇幅有點長,我就直接說一些我覺得還不錯的書名了,大家有興趣的可以去網上看看,
1.前端開發推薦書籍
①《JavaScript語言精粹》
②《JavaScript高級程式設計》
③《ES6標準入門》

2.后端開發推薦書籍
①《SQL必知必會》或《高性能MySQL》二選一,掌握資料庫,
②《Effective Java 中文版》,目前應該出到了第3版吧,有能力的可以去看英文原版,原版更為精妙一些,
③《圖解HTTP》

3.自動化測驗推薦書籍
①《Selenium3自動化測驗實戰——基于Python語言》,適合零基礎,

4.人工智能推薦書籍
①《統計學習方法(第2版)》,這是國內少有的機器學習巔峰之作,由李航所作,比起周志華的西瓜書《機器學習》強太多了,
②《Python深度學習》,深度學習經典之作,

5.網路安全
①《黑客攻防實戰詳解 第2版》,最佳的防御,是懂得如何攻擊,

6.資料分析
①《Python資料分析基礎教程》,人民郵電出版社2020年出版的,適合零基礎者進行學習,
②《Python資料科學手冊》,Python資料分析進階好書,

7.網路爬蟲
①《Python 3網路爬蟲開發實戰》,適合零基礎,
②《Python網路資料采集》,適合進階,

結語
上面所介紹的書籍可能并非全部都是最新版本的,我已經過了要緊追技術新潮的年紀了,所以大家在看書之前可以去網上查一下有沒有出新版,
可能對于很多人來說,完成作業內容需要的東西可能并不是很多,但如果你不甘于用時間來換空間這么一種職場模式,你想去做出更多、更好的成績,你就會發現自己的知識儲備遠遠不夠,
所以你們的大學,多儲備一些知識,以后的路會更好走一些,加油!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298594.html
標籤:AI
