程序员必看之文章
上網查資料的時候,偶爾看到了這篇文章,感覺寫的不錯,就貼出來與大家分享了。
一、為何要學編程?
每個人的動機不一樣。大致有:
1、為了找個好工作;或為了有更好的機會和更好的發展。
2、看到別人超厲害,所以也想學。
3、實際工作中很多場合需要。
4、從小就立志做個程序員,做軟件工程師。
5、振興中國的軟件事業。
。。。。。。
================================================
二、如何學編程?
1、多看好書。
??? 差書誤人子弟,不但浪費時間和精力,而且打擊人的信心,差書使人很久都不會,讓會讓人懷疑自已的學習能力。
??? 現在的書很多,但好書很少,特別是被大家公認很有價值的好書,更是少之又少。歷經多年時間考驗和市場風雨不殘酷洗禮而僅存的巨著,更是極其稀少。中國歷史上文學小說類書本多如牛毛,但僅存的巨著,也只不過<<紅樓夢>>等四本名著而已,編程方面也是如此。
2、多動手。
??? 這一點很重要。而且特別重要。“紙上得來終覺淺,絕知此事要躬行。”陸游的千古名句說的就是這個道理,并且同樣適合于編程方面。
================================================
三、用什么語言最好?
這主要取決于應用領域,每種語言都有自已的長處和不足。
1、匯編語言和C語言在單片機及工控領域用較多。另外C語言也是一種通用語言,是學C++/c#的起點。
2、C++系統編程等多個方面,最常用的編譯器是VC。
3、C#/java網絡編程方面新興的。
4、VB通用。
5、還有Delphi等。。。。。。
個人建議:從未編過程的,就從學vb開始。有基礎的可直接學c++/VC。
===================================================
四、有什么好書?
??? 幾年前,臺灣著名技術作家侯捷先生曾經寫過一篇影響很大的書評文章,叫做《MFC四大天王》。文章的意思是說在MFC的浩瀚書海中,只要認真研讀和學習其中四本,就可以“五岳歸來不看山”。侯先生雖以MFC為例,但是這個道理卻同樣適合于MFC之外的很多具體技術領域,這不能不說是一個有趣的統計現象。
???
??? 通常在某一個具體細分的技術領域,會自然而然地出現3-5本頂級著作,它們彼此互相配合,形成一個完整的體系。對于學習者來說,只需要認真研讀這幾本書,就足以升堂入室。我樂于將這種現稱為“四書五經現象”。對于讀者來說,如果能夠找到該領域中的“四書五經”,則無論在時間上還是金錢上都是最經濟的選擇。好書幾本,勝過爛書幾捆,這個體會想必大家都有。在此,幫助大家遴選各個技術領域里的“四書五經”。
???
??? 編程的書可謂汗牛充棟,其中經典也是不泛其數,但絕大多數的過來人,都一致認為,要想很快的入門并盡快的投入到編程實踐中,只要其中的四到五本也就夠了,即只看經典中的經典,圣經級的書就可以了。
??? 所謂活到老學到老,程序員是個終身學習的職業,要不斷的看書,直到放棄編程的那一天。所以,您要讀的好書也絕非以下推薦的這些書喲,呵呵。
??? 一句話,由于我們的時間、精力、金錢都是有限的,如何以最小的代價換得最大的收獲。
================================================================
五、經典好書分類熱銷榜
1、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與模式------------------------------閻宏
2、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平臺四大天王
3、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++八大金剛:
?? 1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
?? 2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++百科全書代表,圣經。
?? 3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++百科全書代表。
?? 4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
?? 5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
?? 6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
?? 7、The c++ standard libray---c++標準庫的百科全書。
?? 8、設計模式:可復用面向對象軟件的基礎------good!
4、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
5、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
6、Delphi
?? Inside VCL(深入核心——VCL架構剖析)----------李維
?? Delphi 7高效數據庫程序設計--------------李維
?? 面向對象開發實踐之路(Delphi版)----------李維
7、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
8、vf
?? Visual Foxpro程序設計參考手冊-------------------張洪舉
?? 專家門診——Visual FoxPro開發答疑160問-------------------張洪舉
?? Visual FoxPro 6.0/9.0解決方案與范例大全-------------------張洪舉
?? Visual FoxPro軟件開發模式與應用案例-------------------張洪舉
9、黑客
?? 應用密碼學(協議算法與C源程序-----------Bruce Schneier
?? 網絡信息安全的真相-----------Bruce Schneier
?? 黑客大曝光:網絡安全機密與解決方案(第5版)--------STUART MCCLURE
?? 軟件加密技術內幕------------看雪學院
?? 加密與解密——軟件保護技術與完全解決方案------------看雪學院
?? 加密與解密(第二版)--------段鋼
10、匯編
?? Intel微處理器結構、編程與接口(第六版)---------Barry B. Brey
?? 80*86、奔騰機匯編語言程序設計---------Barry B. Brey
?? Windows環境下32位匯編語言程序設計(第2版)-----------羅云彬
?? IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋
?? IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯
11、驅動開發
?? Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant
?? Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河
?? WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河
12、網絡
?? 計算機網絡第四版中文版----網絡編程三劍客--------------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
13、算法
??? 計算機程序設計藝術-------Donald.E.Knuth----------算法“倚天屠龍”雙劍
??? 算法導論-----------------Thomas H. Cormen--------算法“倚天屠龍”雙劍
??? 離散數學及其應用----------Kenneth H.Rosen
??? 具體數學—計算機科學基礎--------Donald.E.Knuth
14、圖形編程
??? Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書
15、數據結構
??? 數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林
??? 數據結構算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社
16、軟件工程
??? 設計模式--可復用面向對象軟件的基礎
??? 重構—改善既有代碼的設計
17、操作系統
??? 深入理解計算機系統(修訂版)-------RANDAL E.BRYANT
18、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技術手冊
19、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游戲編程入門教程(第二版…
21、移動開發
??? 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編程實踐---絕版
22、單片機
??? 單片機輕松入門----------------------------------周堅(平凡老師)
??? 單片機典型模塊設計實例導航-----------------------求是科技
??? 例說8051----------------------------------------張義和 陳敵北
??? KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞
??? 單片機應用程序設計技術(修訂版)--------------------周航慈
??? 8051單片機實踐與應用-------------------------------吳金戎
??? MCS-51系列單片機實用接口技術---------------------李華
23、串并口通訊
??? Visual C++/Turbo C串口通信編程實踐------------------龔建偉
??? VISUAL BASIC與RS-232串行通信控制(最新版)----------范逸之
24、電子
??? 無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌
??? 無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌
??? 圖表細說電子技術識圖-------------------胡斌
??? 圖表細說電子元器件-------------------胡斌
??? 圖表細說元器件及實用電路-------------------胡斌
???
================================================================
六、怎樣成為一名程序員
??? 通過以下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數據庫系統開發實例導航》。
??? 最后將完成的模擬軟件刻成光盤,作為自己的作品去面試,以此踏上自己光輝的職業程序員之路!
總結
- 上一篇: python arcgis 图书_arc
- 下一篇: git 常用命令备查