如何成长为程序员(参考文章)

(一)、 一个程序员应该具备的基础知识和概念

 

1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)

 

2、机器语言和微指令集的概念。

 

3、程序的概念。

 

4、汇编语言是低级语言但不是机器语言。

 

5、高级语言主要有那些?(CC++,BasicPascalFortranC#Java等等;如果你是中国软件业的英雄,你也写一门语言,最好不用英语) 6、编译程序和解释程序的概念和其原理。(编译器是高手和专家编写的)

 

7HTMLXML等是标识性语言。

 

8Prolog是人工智能语言。

 

9、操作系统OS的概念和原理。(Windows98Windows2000Windows NTUNIXLinux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手)

 

10Windows编程说白了就是Windows API的调用。(中国的程序员很多只是会编windows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是coder

 

11VC++、VBBCBCBDelphiVF等都只是编程的工具和环境,不是编程语言。

 

12、面向结构的设计概念。

 

13、面向对象的概念。(好好理解,兄弟,这个东西还是很重要的)

 

14、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)

 

15、数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如OrcleSQLDB2DyBase等)

 

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 OSwin32 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.NETC#

 

19、软件工程

 

20UNIXLinux

 

Feedback

# re: 转发如何成长为c++程序员(仅供参考)  回复  更多评论   

2005-09-13 21:50 by 冷夜
没有全部看完,觉得 教材推荐 和 好书推荐 两部分都不错。
但是我个人而言,不喜欢 程序员 这个定位;
我觉得软件工程师是比较合适的称呼。
或许在有的公司不管称为程序员或软件工程师都没有区别,
但是我觉得作为专业人士,我们应该有点严谨的态度,
明确知道并区别程序员与软件工程师的不同

# re: 转发如何成长为c++程序员(仅供参考)  回复  更多评论   

2005-09-13 22:34 by BillJoy
楼上也太刻意了吧.^_^,严谨是好,但我们也没有必要严格的去区分这个吧.

# re: 转发如何成长为c++程序员(仅供参考)  回复  更多评论   

2005-09-13 23:39 by 冷夜
呵呵,从学术上来说,两个词本来是有区别的
只是到了国内慢慢被同化

# re: 转发如何成长为c++程序员(仅供参考)  回复  更多评论   

2005-09-14 08:30 by moonriver
我学习C/C++是从敲别人程序开始的.

十年前那时的书还没有那么多, 我的C/C++的入门书是TOM SWAN的 << C++编程秘诀>>, 可能多数人没有看过.

多看看一些OPENSOURCE的项目的SOURCE CODE吧.光看书是远远不够的.

# re: 转发如何成长为c++程序员(仅供参考)  回复  更多评论   

2007-03-03 09:49 by 最爱
这片文章~ 深深的写出了在学习过程中 一些思想斗争~
虽然,大部分我看不懂可以说 没听过~
我相信我会慢慢的将它应用~

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理