一个程序员应该具备的基础知识和概念
1 、 计算机是有什么组成的, CPU 是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)
2 、 机器语言和微指令集的概念。
3 、 程序的概念。
4 、 汇编语言是低级语言但不是机器语言。
5 、 高级语言主要有那些?( C , C ++, Basic , Pascal , 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 、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)
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 、 善于发现问题,然后去寻找答案;( shit , word 有 bug ,换行间隔问题,懒得理它了)
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
1 、 计算机是有什么组成的, CPU 是什么东西,其工作原理是什么。(对于这些以及下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会在下一部分详述,记住理解最重要!)
2 、 机器语言和微指令集的概念。
3 、 程序的概念。
4 、 汇编语言是低级语言但不是机器语言。
5 、 高级语言主要有那些?( C , C ++, Basic , Pascal , 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 、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟)
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 、 善于发现问题,然后去寻找答案;( shit , word 有 bug ,换行间隔问题,懒得理它了)
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