我这里写给的读者是真正想学习,而又不得其门而入的初学者们。这样的人有很多,在我周围我就常看到有很多人想学好一门语言,他们有些也很刻苦。但是,坚持一段时间却没有什么成效。这其实是方法的问题。我这里说几点我遇到的几个学习程序设计的时候容易遇到的误区。
第一,编程语言的学习,要多练习,只是看书是收效甚微的。好的程序员从来都是写出来的,而并非是读出来的。这点是很重要的一点,因为这要改变很多人的学习方式。因为以前的学习中,不管是因为环境的原因还是自身的原因,我们肯能都更加习惯拿着一本书在那看。以为只要把书读上那么几遍,就其意自现了。但是这在语言的学习之初却是行不同的。因为你缺乏很多的感性的经验,学得是计算机,你不摸计算机那肯定是不行的。所以在这里说了这一点,要明白多练习的重要性而不要只是拿着本书看。
第二,明白语言和编译器的区别。要明白语言才是一切根本,而平时你听到哪个牛人精通MFC,.net,等等的这些东西,都仅是编译器,却并不是一门语言。现在对于一个初学者而言,开始学习的时候所接触的基本都已经是很成熟的编译器。只要把代码编辑出来,没有语法错误一般就能运行。而究竟怎么把这些代码经过编译,链接生成二进制的代码这一个过程就对你隐藏了。很少有人能够明白这究竟是怎么样的一个过程,用专业点的话说对你这些都是透明的了。这对于一个想学习编程语言的人来说,我认为并非是一个福音。尽管这种分层在计算机中是非常常见,经常使用的一种方法。但是,对一个想学习真正东西的人。一定不要被你所使用的编译器所迷惑。你心里要始终知道有一个从你编辑代码到二进制代码这样的一个过程的存在。否则,你不会更深的了解一门语言,也不会知道计算机科学为什么能被成为一门科学,而不仅仅是一门技术。
第三,学以致用。把你学到的计算机语言用来描述一下自己周围碰到的生活,尤其是学习面向对象语言的同学。这个功夫不是一朝一夕的,即使你不能够达到这一点,也一定要在心里有这样的一个潜意识。这样,慢慢你才能把语言的学习融入到你的生活当中。这是我一直追求的一种境界,在这里跟大家分享。我认为只有这样下去,中国才能慢慢的出现面向对象方面的大师。