轉 職業程序員必看之書

http://hi.baidu.com/brucexuyg/blog/item/67fe4d5151a7c9888c5430e2.htmlhtml

1、爲什麼要學編程?linux

每一個人的動機不同。大體有:c++

一、爲了找個好工做;或爲了有更好的機會和更好的發展。 
二、看到別人超厲害,因此也想學。 
三、實際工做中不少場合須要。 
四、從小就立志作個程序員,作軟件工程師。 
五、振興中國的軟件事業。 
。。。。。。程序員

================================================面試

2、如何學編程?算法

一、多看好書。數據庫

    差書誤人子弟,不但浪費時間和精力,並且打擊人的信心,差書令人好久都不會,讓會讓人懷疑自已的學習能力。 
    如今的書不少,但好書不多,特別是被你們公認頗有價值的好書,更是少之又少。歷經多年時間考驗和市場風雨不殘酷洗禮而僅存的鉅著,更是極其稀少。中國歷史 上文學小說類書本多如牛毛,但僅存的鉅著,也只不過<<紅樓夢>>等四本名著而已,編程方面也是如此。編程

二、多動手。c#

    這一點很重要。並且特別重要。「紙上得來終覺淺,絕知此事要躬行。」陸游的千古名句說的就是這個道理,而且一樣適合於編程方面。windows

================================================

3、用什麼語言最好?

這主要取決於應用領域,每種語言都有自已的長處和不足。

一、彙編語言和C語言在單片機及工控領域用較多。另外C語言也是一種通用語言,是學C++/c#的起點。 
二、C++系統編程等多個方面,最經常使用的編譯器是VC。 
三、C#/java網絡編程方面新興的。 
四、VB通用。 
五、還有Delphi等。。。。。。


我的建議:從未編過程的,就從學vb開始。有基礎的可直接學c++/VC。

===================================================

4、有什麼好書?


    幾年前,臺灣著名技術做家侯捷先生曾經寫過一篇影響很大的書評文章,叫作《MFC四大天王》。文章的意思是說在MFC的浩瀚書海中,只要認真研讀和學習其 中四本,就能夠「五嶽歸來不看山」。侯先生雖以MFC爲例,可是這個道理卻一樣適合於MFC以外的不少具體技術領域,這不能不說是一個有趣的統計現象。 
    
    一般在某一個具體細分的技術領域,會天然而然地出現3-5本頂級著做,它們彼此互相配合,造成一個完整的體系。對於學習者來講,只須要認真研讀這幾本書, 就足以升堂入室。我樂於將這種現稱爲「四書五經現象」。對於讀者來講,若是可以找到該領域中的「四書五經」,則不管在時間上仍是金錢上都是最經濟的選擇。 好書幾本,賽過爛書幾捆,這個體會想必你們都有。在此,幫助你們遴選各個技術領域裏的「四書五經」。 
    
    編程的書可謂汗牛充棟,其中經典也是不泛其數,但絕大多數的過來人,都一致認爲,要想很快的入門並儘快的投入到編程實踐中,只要其中的四到五本也就夠了,即只看經典中的經典,聖經級的書就能夠了。

    所謂活到老學到老,程序員是個終身學習的職業,要不斷的看書,直到放棄編程的那一天。因此,您要讀的好書也絕非如下推薦的這些書喲,呵呵。

    一句話,因爲咱們的時間、精力、金錢都是有限的,如何以最小的代價換得最大的收穫。

================================================================

5、經典好書分類熱銷榜


一、java

   java編程語言(第三版)---java四大名著----James Gosling(java之父) 
   java編程思想(第2版)----java四大名著----Bruce Eckel 
   java編程思想(第3版)----java四大名著----------------Bruce Eckel 
   java 2核心技術 卷I:基礎知識(原書第7版)---java四大名著-----Cay Horstmann 
   java 2核心技術 卷II:高級特性(原書第7版)----java四大名著-----Cay Horstmann 
   Effective java中文版------java四大名著--------Joshua Bloch 
   精通Struts:基於MVC的java Web設計與開發---孫衛琴 
   精通Hibernate:java對象持久化技術詳解---孫衛琴 
   Tomcat與java Web開發技術詳解------------孫衛琴 
   java與模式------------------------------閻宏

二、c#

   C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」 
   C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」 
   .NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平臺四大天王 
   C# Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平臺四大天王 
   .NET程序設計技術內幕-------------Jeff Prosise---.NET平臺四大天王 
   .NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平臺四大天王

三、C++

   C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」 
   C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman 
   C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman 
   C++標準程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis 
   C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」 
   深度探索C++對象模型---c++八大金剛----Stanley B.Lippman 
   Essential C++中文版---c++八大金剛---Stanley B.Lippman 
   Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers 
   More Effective C++中文版----c++八大金剛------Scott Meyers 
   C++編程思想(第2版) 第1卷:標準C++導引--------Bruce Eckel 
   C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel 
   C++程序設計--------------------------譚浩強 
   C++ 程序設計教程(第2版)--------------錢能 
   C++ Primer Plus(第五版)中文版---Stephen Prata 
   廣博如四庫全書The c++ programming language、c++ Primer 
   深奧如山重水複Inside the c++ object model 
   程序庫大全The c++ standard libray 
   工程經驗之積累Effective c++、More Effective c++、Exceptional c++

c++八大金剛: 
   一、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者 
   二、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++百科全書表明,聖經。 
   三、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++百科全書表明。 
   四、Inside the c++ object model-----lippman----揭示c++底層,很是好,很是難。 
   五、Effective c++-----經過50個編程實例,展現專家經驗,行文有趣,深處淺出。 
   六、More Effective c++----經過35個編程實例,展現專家經驗,行文有趣,深處淺出。 
   七、The c++ standard libray---c++標準庫的百科全書。 
   八、設計模式:可複用面向對象軟件的基礎------good!


四、c

   C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」 
   C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata 
   C程序設計(第三版)---------------------------譚浩強 
   C語言大全(第四版)---------------------------HERBERT SCHILDT 
   C語言接口與實現:建立可重用軟件的技術-------------DAVID R.HANSON 
   C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison 
   C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel 
   C陷阱與缺陷-----------------------------------Andrew Koenig


五、VB

   Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」 
   Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」--- 
   .NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---
   Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」 
   Visual Basic.NET 從入門到精通-------------------------Petroutsos,E. 
   高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND


六、Delphi

   Inside VCL(深刻核心——VCL架構剖析)----------李維 
   Delphi 7高效數據庫程序設計--------------李維 
   面向對象開發實踐之路(Delphi版)----------李維


七、VC

   Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」--- 
   Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」--- 
   Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」--- 
   深刻淺出MFC(第二版)-----「MFC四大天王」-------侯捷 
   MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise 
   Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski 
   深刻解析MFC-------------MFC四大天王」-----------George Shepherd 
   Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski


八、vf

   Visual Foxpro程序設計參考手冊-------------------張洪舉 
   專家門診——Visual FoxPro開發答疑160問-------------------張洪舉 
   Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉 
   Visual FoxPro軟件開發模式與應用案例-------------------張洪舉


九、黑客

   應用密碼學(協議算法與C源程序-----------Bruce Schneier 
   網絡信息安全的真相-----------Bruce Schneier 
   黑客大曝光:網絡安全機密與解決方案(第5版)--------STUART MCCLURE 
   軟件加密技術內幕------------看雪學院 
   加密與解密——軟件保護技術與徹底解決方案------------看雪學院 
   加密與解密(第二版)--------段鋼


十、彙編

   Intel微處理器結構、編程與接口(第六版)---------Barry B. Brey 
   80*8六、奔騰機彙編語言程序設計---------Barry B. Brey 
   Windows環境下32位彙編語言程序設計(第2版)-----------羅雲彬 
   IBM-PC彙編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋 
   IBM PC彙編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯


十一、驅動開發

   Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant 
   Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河 
   WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河


十二、網絡

   計算機網絡第四版中文版----網絡編程三劍客--------------Andrew S.Tanenbaum 
   TCP/IP詳解3卷本--------------------Richard Stevens----網絡編程三劍客 
   UNIX網絡編程2卷本--------------------Richard Stevens----網絡編程三劍客 
   用TCP/IP進行網際互聯-----------Douglas E. Comer 
   高級TCP/IP編程-------------------Jon C. Snader 
   C++網絡編程-----------------------Douglas Schmidt 
   UNIX環境高級編程(第2版)--------------------Richard Stevens


1三、算法

    計算機程序設計藝術-------Donald.E.Knuth----------算法「倚天屠龍」雙劍 
    算法導論-----------------Thomas H. Cormen--------算法「倚天屠龍」雙劍 
    離散數學及其應用----------Kenneth H.Rosen 
    具體數學—計算機科學基礎--------Donald.E.Knuth


1四、圖形編程 
    Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書


1五、數據結構

    數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林 
    數據結構算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社


1六、軟件工程

    設計模式--可複用面向對象軟件的基礎 
    重構—改善既有代碼的設計


1七、操做系統

    深刻理解計算機系統(修訂版)-------RANDAL E.BRYANT


1八、Unix

    UNIX 網絡編程 卷I 套接字聯網API(英文版 第三版 
    UNIX 編程藝術 
    UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經 
    UNIX環境高級編程(英文影印版)(第2版) 
    UNIX環境高級編程(第2版) 
    UNIX環境高級編程(第2版)---UNIX編程「聖經 
    UNIX網絡編程 第1卷:套接口API(第3版) 
    UNIX網絡編程卷2:進程間通訊(第2版)(英文影印版) 
    UNIX 網絡編程(第二版)第2卷:進程間通訊 
    UNIX編程環境 
    UNIX 網絡編程 卷I 套接字聯網API(英文版 第三版 
    UNIX系統編程 
    UNIX環境高級編程 
    UNIX 網絡編程 卷I 套接字聯網API(英文版 第三版) 
    UNIX網絡編程 第1卷:套接口API(第3版) 
    UNIX 網絡編程(第二版)第2卷:進程間通訊 
    UNIX網絡編程卷2:進程間通訊(第2版)(英文影印版) 
    UNIX 網絡編程(第2版)第1卷:套接口API和X/Open 傳輸接口API 
    UNIX網絡編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版) 
    UNIX環境高級編程 
    Unix技術手冊


1九、Linux

    Linux內核設計與實現 
    Linux內核徹底註釋 
    LINUX內核分析及編程 
    GNU/Linux 編程指南(第二版) 
    Linux設備驅動程序(第三版) 
    嵌入式設計及Linux驅動開發指南——基於ARM 9處理器 
    Linux設備驅動程序 第三版(英文影印版) 
    Linux內核設計與實現(第2版) 
    Linux內核設計與實現(英文影印版)(第2版) 
    linux技術手冊


20、遊戲編程

    Windows遊戲編程大師技巧(第二版 
    遊戲之旅--個人編程感悟 
    OpenGL超級寶典:第三版 
    OpenGL編程指南(第四版) 
    java 遊戲高級編程 
    J2ME手機遊戲編程入門 
    遊戲之旅——個人編程感悟 
    遊戲開發中的人工智能(英文影印版) 
    3D遊戲:卷2 動畫與高級實時渲染技術 
    面向對象的遊戲開發 
    java 遊戲高級編程 
    3D遊戲編程大師技巧 
    遊戲編程精粹 
    面向對象的遊戲開發 
    3D遊戲 卷1:實時渲染與軟件技術 
    3D遊戲:卷2 動畫與高級實時渲染技… 
    J2ME手機遊戲編程入門 
    Direct3D遊戲編程入門教程(第二版…


2一、移動開發

    Windows Mobile手機應用開發 
    SYMBIAN OS C++手機應用開發 
    Windows Mobile手機應用開發--傅曦 齊宇 徐駿 
    SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯 
    SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯 
    Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林 
    嵌入式系統Windows CE 開發技巧與實例--傅曦 
    Palm OS編程實踐---絕版


2二、單片機

    單片機輕鬆入門----------------------------------周堅(平凡老師) 
    單片機典型模塊設計實例導航-----------------------求是科技 
    例說8051----------------------------------------張義和 陳敵北 
    KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞 
    單片機應用程序設計技術(修訂版)--------------------周航慈 
    8051單片機實踐與應用-------------------------------吳金戎 
    MCS-51系列單片機實用接口技術---------------------李華


2三、串並口通信

    Visual C++/Turbo C串口通訊編程實踐------------------龔建偉 
    VISUAL BASIC與RS-232串行通訊控制(最新版)----------範逸之


2四、電子

    無線電識圖與電路故障分析輕鬆入門(第二版) -------------------胡斌 
    無線電元器件檢測與修理技術輕鬆入門(第二版) -------------------胡斌 
    圖表細說電子技術識圖-------------------胡斌 
    圖表細說電子元器件-------------------胡斌 
    圖表細說元器件及實用電路-------------------胡斌 
   

================================================================

6、怎樣成爲一名程序員

    經過如下4個階段的訓練, 沒有任何編程基礎人就能夠成爲一名普通的程序員。

第一階段:掌握一種編程語言

    學習內容:學習任意一種主流的編程語言。例如C++語言。 
    學習目標:熟練掌握一種語言的語法和基本的編程技巧。 
    學習時間:3個月左右 
    注意事項:編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等程序設計語言,它們是像漢語、英語同樣的抽象的語法規則,編程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器在內的集成化、可視化的軟件開發工具。C++源程序能夠在Visual C++ 6.0裏編寫,也能夠在記事本里編寫,而同一個C++源程序能夠用Visual C++ 6.0編譯、執行,也能夠用C++ Builder 5.0 編譯、執行,因此: C++ 不等於 Visual C++ 6.0

第二階段:掌握一種編程工具

    學習內容:學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。 
    學習目標:熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。 
    學習時間:3個月左右 
    注意事項:這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各類基本的Windows程序。

第三階段:掌握「算法與數據結構」這門課程

    學習內容:算法與數據結構,推薦許卓羣的《數據結構》,高等教育出版社出版。 
    學習目標:熟練掌握各類經常使用的算法與數據結構 
    學習時間:4個月左右

    注意事項:這是一門不可或缺的軟件開發課程,曾經有一本經典計算機專業書籍叫作《數據結構+算法=程序》,這說明了數據結構和算法的重要性。它能幫咱們創建良好的程序分析與設計能力。

第四階段:實現一個模擬的小型軟件項目

    學習內容:軟件項目的開發過程 
    學習目標:掌握軟件項目的基本開發過程和方法 
    學習時間:4個月左右 
    注意事項:本身完成一個模擬的小型軟件項目,強烈推薦作一個MIS(管理信息系統)軟件,參考用書推薦「中小型信息管理系統開發實例系列叢書」,人民郵電 出版社,它的例子詳實有效,以它爲基礎再加以擴展,就能夠作出實用的MIS軟件來。此叢書包括多種開發工具,你們能夠選擇適合本身的:《VISUAL FOXPRO6.0 數據庫系統開發實例導航》 《java數據庫系統開發實例導航》 《VISUAL BASIC數據庫系統開發實例導航》《VISUAL C++6.0數據庫系統開發實例導航》 《ASP.NET數據庫管理系統開發實例導航》 《DELPHI數據庫系統開發實例導航》《POWERBUILDER 8.0數據庫系統開發實例導航》。

    最後將完成的模擬軟件刻成光盤,做爲本身的做品去面試,以此踏上本身光輝的職業程序員之路!

相關文章
相關標籤/搜索