一個程序員應該具備的基礎知識和概念

1、計算機是有什麼組成的,CPU是什麼東西,其工作原理是什麼。(對於這些以及下面將要提到的概念我不告訴你答案,你可以看相應的教材,關於教材我會在下一部分詳述,記住理解最重要!)

2、機器語言和微指令集的概念。

3、程序的概念。

4、彙編語言是低級語言但不是機器語言。

5、高級語言主要有那些?(C,C++,Virtual  Basic,Ada,Delphi,Fortran,C#,Java等等;如果你是中國軟件業的英雄,你也寫一門語言,最好不用英語)

 6、編譯程序和解釋程序的概念和其原理。(編譯器是高手和專家編寫的)

7、HTML、XML等是標識性語言。

8、Prolog是人工智能語言。 

9、操作系統OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,Linux,等等都是OS,還有一些實時OS,嵌入OS,編這些的絕對是高手)

10、Windows編程說白了就是Windows API的調用。(中國的程序員很多只是會編windows程序,用的是VB,我的建議是這些程序員頂多只是低級編碼員,我稱其是coder)

11、VC++、VB、BC、BCB、Delphi、VF等都只是編程的工具和環境,不是編程語言。

12、面向過程(結構)的設計概念。

13、面向對象的概念。(好好理解,兄弟,這個東西還是很重要的)

14、軟件工程的概念和原理。(如果你想當老總就需要好好研究了,系統分析員比編碼員要高N個等級,薪水也高得多喲)

15、數據庫的概念。(要熟悉一些著名的數據庫系統和語言的名字,如Orcle,SQL,DB2,DyBase等)

16、瞭解網絡概念。

17、瞭解多媒體概念。

18、熟悉和掌握數據結構和基本算法。

19、是不是要求太高了,別著急,慢慢來,進步在不知不覺之中。(一旦開始學習,一個月以後你就會有一個基本的概念;兩個月以後你就會感覺自己有了全面的基礎知識;當你知道編程序是怎麼回事時,說明你已經入門了。也有很多人編了很多年程序還沒有入門呢,你不會希望自己步其後塵吧。要有信心和耐心。沉不住氣怎麼能成大事?!)

(四) 教材推薦

---推薦的教材主要還是針對概念來的,最好選用名校的教學用書。

1、《計算機組成原理》(熟悉)

2、《數據結構》(掌握)

3、《操作系統》(瞭解->熟悉)

4、《The  C  language》(掌握)

5、《編譯原理》(瞭解原理)

6、《彙編語言》(瞭解)

7、《計算機網絡》(瞭解)

8、《軟件工程》(瞭解)

9、《關係數據庫》(熟悉)

10、《The  C++Languege 》(掌握)

11、《面向對像設計》(掌握;結合C++學習)

(五)一些經驗和體會

1、真正的程序員用C++;(一位專家說的)

2、動手去編程序;

3、動腦去思考;

4、要有良好的編程風格;

5、讀書,讀好書,盡量讀原版書!(我反覆強調這一點,讀書要有選擇,堅持讀好書,名家出的經典書,不要浪費實踐在一些粗製濫造的書上面;堅持博覽群書)

6、制定自己的學習計劃;

7、總結自己的經驗教訓;(準備一個筆記本,記錄錯誤和心得)

8、不要怕學新東西;

9、要有軟件工程的思想;

10、善於發現問題,然後去尋找答案;

11、向高手請教;(要虛心直到你成為高手)

12、和同行交流;(不善於交流肯定不行)

13、懂得軟件的實質,不要被千變萬化的表象所迷惑;

14、真正要學習用的是編程語言和方法,不是什麼庫,什麼類,什麼工具;(學用那些什麼庫都比較簡單,但光會這些庫,我覺得還遠遠不夠)

15、學習wiodows編程主要是學習windows OS和win32 API;

16、有空瞭解一下嵌入式開發;

17、有空瞭解一下PDA軟件開發;

18、瞭解一下.NET框架和C#語言,也許它是你新的衣食父母;

19、要有耐心,不要作浮躁的人; 

20、對程序加註釋,並保留你的老程序;

21、學到的東西越多,瞭解的越多,你就越接近專家;

22、有空去逛逛CSDN,那裡有你很多知己;

23、要有信心成為一個優秀的程序;

(六)一些好書的推薦

1、《The C  Programming language》 (Keinighan & Dennis Ritchie 1988)

2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)

3、《Inside The C++ Object Model》 (lippmans)

4、《Effective C++》 (同上)

5、《More Effective C++》 (同上)

6、《Exceptional c++》

7、《C++面向對像高效編程》

8、《設計模式》

9、《Thinking In C++》

10、《The Standard C++ Bible》(一般推薦)

11、《The Art of Computer Programming 》

12、《Programming Windows》 (Charles Petzold)

13、《VC++5.0技術內幕》

14、《MFC 深入淺出》

15、《軟件需求》

16、《Advanced Windows》

17、《C++ primer》

18、《win32程序員參考手冊》

19、《用TCP/IP進行網際互連》

20、《COM 本質論》 

(七)學習計劃

---這個學習計劃是我個人定的,也共享給大家參考一下,共同進步吧。

 1、《計算機組成原理》

2、《操作系統》

3、《數據結構》

4、《彙編語言》

5、《 C 》

6、《 C++ 》

7、《VC 技術內幕》

8、《Programming Windows》

9、《深入淺出MFC》

10、《Advanced Windows》

11、《Inside The C++ Object Model》

12、《Thinking in C++》

13、《Effective C++》

14、數據庫

15、網絡

16、嵌入式OS和編程

17、硬件單片機

18、.NET和C#

19、軟件工程

20、UNIX和Linux