職業程式設計師必看之文章
每個人的動機不一樣。大致有:
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資料庫系統開發例項導航》。
最後將完成的模擬軟體刻成光碟,作為自己的作品去面試,以此踏上自己光輝的職業程式設計師之路!