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