Haiyang Ai
Administrator
作为一个职业程序员,在这里说这个问题不乏会有些人认为我卖弄,其实我只是看到很多人学习的学习方法不对,实在不忍其误入歧途,所以才提出以下忠告:
一、熟悉一个操作系统
一定要熟悉至少一种操作系统。别以为我是白痴,我知道你是怎么想的――“windows连傻瓜都能熟悉”,其实你要真这么想,那恐怕你才是白痴。windows界面本来就是面向傻瓜的,而你是计算机行业的,怎能以此知足?要注意到windows中有很多的使用细节,比如注册表,磁盘管理方法,以及网络管理方法等…………
二、精通至少一种面向过程的程序设计语言,比如C
其实程序设计语言本来是相通的,你精通了一门,掌握了它的原理,其它很多问题就不在话下了。以我为例,从第一次接触计算机学习一种语言到现在,独立用该语言设计一个完整的工程项目所用时间:Fortran 1年 basic 6个月 Foxbase 3个月 C 3个月 C++ 1个月 Java 1星期。
也就是说,当你对程序设计语言的方法熟悉后,你会发现很多东西都是一样的。清华大学的Java入门是我看的第一本Java书籍,当时我还不知道Java是什么,这本书第一次看一共用了3天的时间,其中的方法就基本都掌握了,而你呢?所以,精通一门语言是十分必要的。
三、一定要精通各种算法,对于高数、概率与数理统计、线性代数、离散数学要有较高的水平。这一点最重要!
这个原因我就不说了,大家都知道。
注意的是,对于你所研究的方向来看(以我的电子方向为例),傅变函数与积分变换、自动控制理论、数字信号处理、图象处理中的数学部分也十分重要!
可以说,要成为一个好的程序员,最主要是要成为一个好的数学学者。
四、精通操作系统原理
我跟大家说过,我是C程序员,虽然也作C++程序,但是始终我都不会VC++。为什么?不是我认为VC不好,而是我觉得我还没有学VC的实力。
我认为要学计算机,应该一步一个脚印的稳扎稳打。我们作的任何程序都是基于操作系统的,如果对操作系统不了解,怎么去学程序语言?!
我给自己的规划是MS-DOS ―― C ―― C++ ―― JAVA ―― WINDOWS ―― VC。(Java在WINDOWS前是因为它基于Java虚拟机,而非Windows系统)
可能有人觉得我学MS-DOS是一件很可笑的事情,认为它已经过时了。是的,DOS是过时了,可是他也是一个仍然在广泛使用的操作系统,更何况它比WINDOWS要简单很多,如果你连DOS的原理还弄不清楚,WINDOWS你就能搞定吗?
我现在才开始学习WINDOWS系统原理,不过我希望我很快就能学VC了。
五、精通微机原理
这个原因也是一样的。我们在计算机上编程序,如果连计算机是怎么回事都不懂,那还搞屁呀?!当然,我是学电子的,学起来可能感觉有优势,但是其它不懂电的人想学就不那么容易了――先要学习电路技术和电子技术(模电、数电)。不过比起前面的,这点重要性相对不高,但象我这样对底层控制的人员,则是必须的。
怎么样?看了是不是头大啊?!别以为我夸张,这只是程序员的基础而已…………
一、熟悉一个操作系统
一定要熟悉至少一种操作系统。别以为我是白痴,我知道你是怎么想的――“windows连傻瓜都能熟悉”,其实你要真这么想,那恐怕你才是白痴。windows界面本来就是面向傻瓜的,而你是计算机行业的,怎能以此知足?要注意到windows中有很多的使用细节,比如注册表,磁盘管理方法,以及网络管理方法等…………
二、精通至少一种面向过程的程序设计语言,比如C
其实程序设计语言本来是相通的,你精通了一门,掌握了它的原理,其它很多问题就不在话下了。以我为例,从第一次接触计算机学习一种语言到现在,独立用该语言设计一个完整的工程项目所用时间:Fortran 1年 basic 6个月 Foxbase 3个月 C 3个月 C++ 1个月 Java 1星期。
也就是说,当你对程序设计语言的方法熟悉后,你会发现很多东西都是一样的。清华大学的Java入门是我看的第一本Java书籍,当时我还不知道Java是什么,这本书第一次看一共用了3天的时间,其中的方法就基本都掌握了,而你呢?所以,精通一门语言是十分必要的。
三、一定要精通各种算法,对于高数、概率与数理统计、线性代数、离散数学要有较高的水平。这一点最重要!
这个原因我就不说了,大家都知道。
注意的是,对于你所研究的方向来看(以我的电子方向为例),傅变函数与积分变换、自动控制理论、数字信号处理、图象处理中的数学部分也十分重要!
可以说,要成为一个好的程序员,最主要是要成为一个好的数学学者。
四、精通操作系统原理
我跟大家说过,我是C程序员,虽然也作C++程序,但是始终我都不会VC++。为什么?不是我认为VC不好,而是我觉得我还没有学VC的实力。
我认为要学计算机,应该一步一个脚印的稳扎稳打。我们作的任何程序都是基于操作系统的,如果对操作系统不了解,怎么去学程序语言?!
我给自己的规划是MS-DOS ―― C ―― C++ ―― JAVA ―― WINDOWS ―― VC。(Java在WINDOWS前是因为它基于Java虚拟机,而非Windows系统)
可能有人觉得我学MS-DOS是一件很可笑的事情,认为它已经过时了。是的,DOS是过时了,可是他也是一个仍然在广泛使用的操作系统,更何况它比WINDOWS要简单很多,如果你连DOS的原理还弄不清楚,WINDOWS你就能搞定吗?
我现在才开始学习WINDOWS系统原理,不过我希望我很快就能学VC了。
五、精通微机原理
这个原因也是一样的。我们在计算机上编程序,如果连计算机是怎么回事都不懂,那还搞屁呀?!当然,我是学电子的,学起来可能感觉有优势,但是其它不懂电的人想学就不那么容易了――先要学习电路技术和电子技术(模电、数电)。不过比起前面的,这点重要性相对不高,但象我这样对底层控制的人员,则是必须的。
怎么样?看了是不是头大啊?!别以为我夸张,这只是程序员的基础而已…………