編程必讀書籍
1. 我想學習編程需要購買那些書籍
書籍整理如下:
C++開發
1.《C++ Primer》:全面學習C++的必備書籍
2.《Thinking in C++》:了解C++背後的一些機制
3.《深度探索C++對象模型》:深入了解C++,也是學習COM的必經之路
Windows平台
入門
1.《Windows程序設計》:這本書主要講的是Windows API的使用,是Windows編程入門書籍。上冊涉及到的知識基本上就夠用了,時間不充裕的話閱讀上冊即可。
2.《Win32多線程程序設計》:Windows下多線程編程必備
3.《Windows核心編程》:Window平台基礎知識:消息機制,內存管理,多線程,動態鏈接庫等
4.《Windows網路編程》:介紹Windows下各種網路協議的開發和並發處理模型。
進階
1.《深入淺出MFC》:Windows下編程,MFC雖然有些過時,但其機制還是有學習的價值。重點學習書中提到的MFC 6大機制
2.《COM本質論》:COM是Windows構建用戶態的重要技術之一,Windows開發必修課,本書對COM的設計動機作了深入闡述
3.《深入解析ATL》:ATL全名Active Templete Library,是用C++的模版封裝了COM,這本書主要講的是對源碼分析
4.《WTL White Paper》:WTL源自微軟,基於ATL的一套開源模版庫,主要用於界面編程和工具類的使用
5.《代碼大全》:這邊書主要講的是工程編碼規范
高級
1.《深入解析Windows操作系統》:Windows大牛書籍,講的主要是Windows操作系統的內核原理
調試技術
1.《軟體調試》
2.《Windows高級調試》
3.《windows用戶態程序高效排錯》
Linux平台
Linux內核
1.《Linux Kernel Development》/《Linux內核設計與實現》:Robert Love的著作,不厚的一本書,深入淺出地將Linux內核娓娓道來
Linux使用和Shell編程
1.《sed & awk》/《sed與awk》:sed與awk都是Linux下常用的日誌分析利器
Linux編程
1.《Beginning Linux Programming》/《Linux程序設計》:老牌的Linux編程入門書
2.《Advanced Programming in the Unix Environment》/《Unix環境高級編程》:對Unix編程環境做了細致的總結,涵蓋了進程間通訊、網路通訊、文件系統等各方面的知識
網路編程
1.《TCP/IP Illustrated, Volume I》/《TCP/IP詳解,卷一》:對理解TCP/IP協議的設計理念和協議細節有顯著的幫助。
2.《Unix Network Programming》/《Unix網路編程》,卷一、卷二:網路編程方面難以逾越的著作,事無巨細、深入淺出,強烈推薦
對這些書目抱有100%的信心,全部掌握,融會貫通,即可打通奇經八脈,天下無雙。
對了,你沒有基礎最好從c與c++基礎開始。找些基礎書開始看。
[c語言入門經典(第四版)].(美)霍頓.掃描版,《C++ Primer》就不錯。
2. 編程書籍經典的有哪些
演算法/數據結構/底層理論:
《演算法導論》:學習演算法的必讀書,也應作為程序員 」基本素養「 看一看
《計算機程序設計藝術》:一部仍未完成的著作,作者高德納因此獲得美國計算機協會 1974 年圖靈獎 - wikipedia:計算機程序設計藝術
《數據結構與演算法分析》
《具體數學》
《編譯原理》:編譯理論的 」龍書「
《深入理解計算機系統》
編程語言/工具等:
《C 程序設計語言》:C 語言發明者之一 Dennis 的經典 C 語言教程
《C++ Primer》
《Java 編程思想》
《OpenGL 編程指南》:」紅寶書「
《PHP 和 Mysql Web 開發》:不要看目前的中文版
軟體工程/開發
《設計模式》
《人月神話》:被譽為軟體工程領域的聖經 - wikipedia:人月神話
《重構》
《代碼大全》
《程序員修煉之道》:如何 」編程「?
3. 程序員打基礎必看書籍!
1、《深入理解計算機系統》
從c語言到匯編語言到硬體再到操作系統,寫得非常好。是一本能幫助深入理解計算機系統的書。基本上把這本書吃透面試操作系統的大部分問題都不是問題。
2、《演算法導論(第三版)》
被很多acmer coder奉為學演算法的經典之作,但不太適合初學者,因為它這本書很多內容只提供了偽代碼,而沒有具體實現。但可以從這本書學數據結構和演算法好,因為日後的編程語言對實現而言實際上並沒有特別大的障礙,只是適合與不適合的選擇罷了,而把想法轉換成編程語言才是對演算法知識的考驗。如果不想太過深入的話可以忽略掉第四部分(高級設計和分析技術)第五部分(高級數據結構)和第七部分(演算法問題選編),你會發現書其實比你想像中薄很多噢!
3、《計算機網路:自頂向下方法》
軟體學院的計算機網路教材,非常適合初學者,裡面將計算機網路從頂層到底層逐章分析了一遍,如果能夠結合一些實驗來輔助理解會更好,因為裡面的講解比較抽象。
4、《STL源碼剖析》
如果你是經常用c++刷演算法題的同學,那麼一定經常用STL的各種集合, vector, set, stack, queue等等。它們的實現原理,在源碼面前,完全沒有秘密。
5、《圖解HTTP》
日本人著的介紹HTTP協議的書,對理解HTTP協議的一些細節有非常大的幫助,插畫也很多,感覺就像看漫畫一樣,很容易理解的。
6、《TCP/IP詳解卷一》
這本書能把枯燥的知識講得很細致,強烈推薦這本,看完相應章節後大概能夠明白為什麼TCP/IP要這么設計了。面試的時候經常問到三次握手和四次揮手,還有各種狀態的轉移, TIME_WAIT的時間為什麼是2*MSL······
7、《UNIX網路編程卷一:套接字聯網API(第三版)》
中文版快800頁,不過我只看了一些章節,這本書也是把TCP/IP的細節講得很深很深,此外還有非常重要的基本套接字編程,就是寫網路程序的時候那些bind, accept, listen, send, receive函數之類的,內容非常多,但是這些是理解多路復用模型所需要掌握的······select/poll/epoll這些系統調用解決了什麼問題?事件機制能不能理解?就看這本書的前六章了。
8、《資料庫管理系統(原理與設計)》
這個也是web開發中離不開的東西,必須劃重點學會的是ER圖/SQL語句/存儲數據(磁碟|文件|RAID|緩沖池等)/三大範式/索引以及相應的數據結構/事務相關的所有概念,尤其重點學習SQL 。之後學會使用mysql workbench來進行資料庫建模/逆向工程生成建表語句/根據SQL生成JAVA實體類等就不贅述了,開發過程中網路谷歌一下就知道啦,然後如果習慣在windows下開發的同學推薦利用navicat這個好東西。