# 文章千古事、得失寸心知
**這些年,讀過的技術經典圖書**
**成曉旭:歡迎轉載**
****
? ? ? 行千里路、讀萬卷書;歷數十項目、編百萬代碼。十來年風雨IT路,上百本沉寂專業書。
? ? ? 佛說:**一花一世界、一葉一菩提**;書對于人,可以牽強附會為:**一師一**派**宗、一書一扇門**。**良師開宗立派,一道相傳;好書常常為讀者開啟通向人生另一端的智慧之門。**
? ? ??關于閱讀,總離不開閱讀的時間;人會隨著時間的推移發生工作環境的變化。通常情況下,所讀的書籍也會隨之變化;反之也行,先有意識地選擇性閱讀一些書籍,儲備未來需用的知識。書籍、時間和職業發展之間的關系,我習慣用下圖來表示:

? ? ??關于軟件研發領域,書籍、閱讀和職業發展,粗淺總結幾點:
? ? ??1,**不要一直只看技術書籍,更不要只看軟件開發方面的書籍**;
? ? ??2,**開發語言,只需要選1本純語言基礎方面的書,深入學習就足夠了;第二本通常都是多余的**;
? ? ??3,**各個應用領域的專項書籍,通常是不需要買書看的**,那些號稱最權威的數據庫開發指南、網絡編程實戰、多媒體開發秘決,基本上全是出版社自我吹噓的宣傳字眼,不具參考價值;認真參與項目跟項目經理好好學,找前輩的方案、設計文檔、代碼,多溝通討論,比看任何書都有效;
? ? ??4,??技術基礎牢固以后,一定要去**系統學習軟件工程、需求、分析、設計、測試等環節的其他知識**;即使只想做技術牛人,也不要只會編碼;要編好的代碼,架構、設計、甚至測試,都是考核代碼好壞的標準;
? ? ??5,??**不看書學習的架構師,常常是剛愎自用、鼠目寸光的架構師**。軟件系統架構,發展到今天,我們能遇到的絕大部分應用,基本上都有成型的、甚至成熟的技術解決方案和系統架構模式;因此不要被自己狹隘的項目實戰經驗所禁錮,認真去學習前輩們在多年的失敗經歷中沉淀下來的穩定、可靠和成功的軟件架構的方法論、原則、模式和實例;
? ? ??6,??**嘗試去看看管理方面的書,及時壓根就不想做管理者**。沒做過領導者的人,永遠不會是好下屬,起碼從來沒站在管理者的角度看過問題,難以理解軟件項目研發過程中技術之外的很多事情。
? ? 初步整理這些年看過的具有代表性、對個人的職業發展歷程產生顯著影響的書籍,并附會個人的一點淺薄的認識和閱讀時真實的體會。文章千古事、得失寸心知,相信每個人讀者對同一本書籍都會有自身獨特的體會和特定的感受,因此本文內容僅供參考、不作書評。
**這些年,讀過的技術經典圖書:**
<table border="1" cellspacing="0" cellpadding="0" width="874"><tbody><tr><td nowrap="nowrap" style="background:#215868;"><p align="center"><strong><span style="color:white;">序號</span></strong></p></td> <td nowrap="nowrap" style="background:#215868;"><p align="center"><strong><span style="color:white;">類型</span></strong></p></td> <td nowrap="nowrap" style="background:#215868;"><p align="center"><strong><span style="color:white;">書名</span></strong></p></td> <td style="background:#215868;"><p align="center"><strong><span style="color:white;">書籍概況</span></strong></p></td> <td style="background:#215868;"><p align="center"><strong><span style="color:white;">閱讀體會</span></strong></p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">1</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">Delphi4</span><span style="color:black;">開發大全</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">全面介紹語言、基礎結構、以及在UI</span>、數據庫、網絡等方面的應用技術。畢業后自學的第一門語言。</p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><strong><span style="color:black;">大而全的書,注定淺嘗輒止;學任何語言都沒必要買這類書</span></strong><span style="color:black;">。</span><span style="color:red;">1999</span><span style="color:red;">年此書175</span>元,那時豬肉5元,現在15元,此書折現約525元,貴!</p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">2</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">C++</span><span style="color:black;">編程思想</span></p></td> <td valign="top"><p align="left"><strong><span style="color:black;">講的不是C++</span>,而是面向對象;不是C++語言的思想,而是用C++進行面向對象程序編程的思想</strong><span style="color:black;">。基礎不扎實反對直接看此書,免得把很多概念搞混了,以后很難理得清。</span></p></td> <td valign="top"><p align="left"><span style="color:red;">建議先有一定的C++</span>語言基礎后,在看此書;或者用C++開發一年年半載后再看<span style="color:black;">。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">3</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">Windows</span><span style="color:black;">核心編程</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">規規矩矩講win32</span>程序設計原理,對進程、線程、內存、文件、堆棧等的應用說得很透徹;<strong>是90年代學windows編程必修之課</strong><span style="color:black;">。</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">沒有IDE</span>,讓現在大部分軟件工程師寫一個windows的計算器,可能覺得無從下手?當然,也沒這個必要。<strong><span style="color:red;">推薦做大型服務器、高性能、高效率、高IO</span>等特殊系統的軟件工程師參考此書</strong><span style="color:black;">。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">4</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">JAVA2</span><span style="color:black;">編程指南</span></p></td> <td valign="top"><p align="left"><span style="color:black;">只介紹Java</span>語言語法、基礎數據結構的書籍,作者講課的思路非常好,循序善誘、逐層深入,很容易接受。本人學Java第一本書,那時《Java Programmer Lanage》還沒出版。</p></td> <td valign="top"><p align="left"><span style="color:black;">此書一直有后續版本,是初學Java</span>語言入門級推薦書籍之一,<strong><span style="color:red;">比《Java Programmer Lanage</span>》更淺顯易懂,書中實例非常不錯。</strong></p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">5</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">The Java Programming Language</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">只介紹Java</span>語言語法、基礎數據結構的書籍,后面有章講Java標準包,非常不錯,剛學的時候,天天在公交車上背。本人學Java第二本書,</p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><strong><span style="color:red;">如果說Java</span>語言只看一本書就能真正入門的話,非此書莫屬</strong><span style="color:black;">。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">6</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">J2EE without EJB</span></p></td> <td valign="top"><p align="left"><span style="color:black;">Spring</span><span style="color:black;">之父在spring</span>尚未完全成熟之前,關于傳統J2EE產品開發經驗的總結和方式。<strong>本書闡述的觀點奠定了spring的雛形,也敲響了sun EJB企業級應用系統架構的喪鐘。</strong></p></td> <td valign="top"><p align="left"><strong><span style="color:red;">徹底顛覆對J2EE</span>開發認知、摒棄EJB開發Java應用系統的轉折之作</strong><span style="color:black;">;此前看了一堆開發J2EE</span>企業級應用系統的所謂實戰專家的專著。建議學spring都先看看此書,以便知道為什么會有spring,以及spring所解決的核心問題。</p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">7</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">Spring</span><span style="color:black;">框架高級編程</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">中規中矩介紹基于spring</span>開源框架進行J2EE企業級應用系統開發的操作指南。與《J2EE without EJB》相比,已無超越的理念和精妙的技巧出現。</p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">在我看來,</span><strong><span style="color:red;">spring</span><span style="color:red;">本身僅僅是作者在特定領域的個人設計經驗和項目經歷的升華與提煉</span></strong><span style="color:black;">;盡管第一次看《J2EE without EJB</span>》為作者巧妙的技巧折服。</p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">8</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">語言類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">代碼大全2</span></p></td> <td valign="top"><p align="left"><strong><span style="color:black;">軟件編碼全過程“奇技淫巧”的大雜燴。</span></strong><span style="color:black;">其中能找到很多經典設計模式的影子、經典開源框架的核心技術雛形、經典編碼、設計原則的示例、典型違背編碼、設計原則的教訓實例,各種各種,不一而足。</span></p></td> <td valign="top"><p align="left"><span style="color:black;">有了這一本書,其他關于編碼技巧的書都可以省了。3</span>點體會:1,<strong><span style="color:red;">此書不適合初學者閱讀</span></strong><span style="color:black;">,沒2,3</span>年實際編程經驗者慎入;因為感同身受才能刻骨銘心。2,<strong><span style="color:red;">此書不是編程地圖,不能按圖索驥</span></strong><span style="color:black;">;不建議遇到問題再去書里找答案;3</span>,<strong><span style="color:red;">細心閱讀,靜心體會;</span></strong><span style="color:black;">頓悟作者這些編程招式的精髓,變成自己對軟件領域計算問題認知,慢慢忘掉這些技巧,</span><strong><span style="color:red;">方能無招勝有招</span></strong><span style="color:black;">。看完此書,本人正式從軟件江湖退隱。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">9</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">系統類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">Windows</span><span style="color:black;">操作系統原理</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><strong><span style="color:black;">第一本以windows</span>操作系統為藍本講解計算機操作系統的書籍</strong><span style="color:black;">,介紹windows</span>進程管理,內存管理、存儲管理等內容。對于進程間通信、軟件性能優化或底層驅動開發,都有較好的參考價值。</p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><strong><span style="color:red;">任何軟件開發人員都應該深入了解你的軟件所運行的操作系統</span></strong><span style="color:black;">,應用軟件總是運行于操作系統之上;熟悉操作系統底層會讓你在軟件開發過程中少遇到很多莫名其妙的問題。(</span>運行于各自虛擬機上的軟件可例外,此時需要去深入了解虛擬機。道理一樣)</p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">10</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">系統類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">windows</span><span style="color:black;">網絡編程技術</span></p></td> <td valign="top"><p align="left"><span style="color:black;">基于Windows</span>操作系統,以windows API為依托,比較全面的介紹網絡通信的基礎知識;此書為我在通信領域做數據采集、網絡服務器打下堅實的基礎。</p></td> <td valign="top"><p align="left"><span style="color:black;">此書需具備windows</span>編程、網絡通信、TCP/IP協議等基礎知識;此書內容很基礎,<span style="color:red;">適合于各種做數據傳輸、網絡通信、流媒體服務、P2P</span><span style="color:black;">等領域的工程師打基礎;</span><strong><span style="color:red;">網絡通信技術不復雜,更多的是系統架構和設計經驗</span></strong><span style="color:black;">。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><strong><span style="color:black;">11</span></strong></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">領域類</span></p></td> <td nowrap="nowrap" valign="top" style="background:#D2EAF1;"><p align="center"><span style="color:black;">應用密碼學</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><strong><span style="color:black;">第一本關于系統講解各類加解密算法及原理的密碼學專著</span></strong><span style="color:black;">;那幾年一直從事信息安全產品研發,此書是第一本真正帶我進入信息安全領域的領路人,很遺憾沒有在這個領域堅持做下去。記得當年去圖書館借一本關于密碼學方面的圖書,必須單位出證明,并承諾不得掃描、照相和復印,才能借出來。</span></p></td> <td valign="top" style="background:#D2EAF1;"><p align="left"><span style="color:black;">從事數據加解密或信息安全領域,自己編寫加解密算法,需看此書。提醒一下,</span><span style="color:red;">要看懂此書并不需要特別高深的數學基礎</span><span style="color:black;">,業界很多人喜歡訛傳數學對應用領域的算法、密碼學的重要性。</span></p></td> </tr><tr><td nowrap="nowrap" valign="top"><p align="center"><strong><span style="color:black;">12</span></strong></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">領域類</span></p></td> <td nowrap="nowrap" valign="top"><p align="center"><span style="color:black;">密碼編碼和密碼分析:原理與方法</span></p></td> <td valign="top"><p align="left"><strong><span style="color:black;">系統介紹密碼學起源、方法、目標和信息安全傳遞方法的里程碑式專著</span></strong><span style="color:black;">;并對主流的對稱、非對稱的密碼學體系進行了全面的總結和對比分析;后半部分對主要的信息破解手段進行了詳細的闡述。徹底顛覆我對密碼學和信息安全的認知,初窺密碼學門徑之作。</span></p></td> <td valign="top"><p align="left"><span style="color:black;">致力于從事信息安全傳輸、數據分析、協議破解和簡單密碼破譯,可認真研究此書;深入理解信息轉換、混淆和逆向分析、還原的思路和數學原理,定能在信息安全領域登堂入室。</span><strong><span style="color:red;">徹底看懂此書數學水平越高越好。</span></strong></p></td> </tr><tr><td width="874" nowrap="nowrap" colspan="5" valign="top" style="background:#D2EAF1;"><p align="left"><strong><em><span style="color:#C00000;">架構類、工程類待續……</span></em></strong></p></td> </tr></tbody></table>
- 前言
- 讀《Linux內核設計與實現》我想到了這些書
- 夢想的啟航,那些年,那些書
- C++和Windows平臺的一些書籍
- java一路走來
- 《Android入門之旅》
- 致我們終將逝去的青春-PHP篇
- 多讀書,讀好書
- 這些年,那些我們一起讀過的代碼
- C++碼農要讀的經典
- 閱讀IT類圖書,能夠收獲什么
- 讀完《大數據時代》的一點兒心得
- 這些日子我讀過的《java編程思想》
- 關于C,看過的一些書
- Android系統深度游
- 《《內存和性能優化》》給我帶來的!
- 「書評」SAP內存計算——HANA
- 書籍記錄了我技術的成長歷程
- 那一年讀過的技術經典書
- 【時間規劃】C/C++發展之路--讀書
- UNIX 環境高級編程之我見
- 游戲開發圖書推薦--我讀過的技術經典圖書
- 自己動手寫操作系統-經典書籍
- 游戲升級之路
- 《SQL Server 2005開發技術大全》分享一本書
- 書,永遠的朋友
- 學生時代的書單
- 追求技術之路 - 那些陪伴我的書籍
- 經典書籍--好書很多,重要的是有個目標,有個規劃
- android系統深入開發
- 這些年一路相伴的書
- 從零開始學
- 這些年我讀過的技術經典圖書(附電子版下載地址)
- 書--益友--從不孤單
- 給自己時間沉淀下來
- 那些支持我學習與工作的良師益友
- 文章千古事、得失寸心知
- 從Linux 驅動到游戲可視化轉行要讀的書
- 那些年,我們一起讀過的《JAVA與模式》
- 往事不堪回首 -- 多讀書
- 我程序人生的啟蒙書
- 一個不喜歡讀書的Javaer的讀書單
- 一本書,讓我走上編程之路
- 程序員讀書的五重天
- 大學那會兒,我讀過的技術經典圖書
- C語言高手進階的三碟小菜和一盤大餐