2008年11月4日星期二

编程学习初体验(5. 如何自学编程)(1)

注: 这个帖子原本打算把整个第五部分都一次写下来,但是在整理思路的时候发现想写和可写的东西太多,难以一次成文。思考再三还是分成多段来写,自己也不用太累,也不至于一次写出来太过匆忙而恶心到各位。

如何学习编程也是见仁见智的话题。每个人都有自己的特点, 因此不存在一条放之四海而皆准的道路。在这里我所能贡献的也仅仅是从我自己的经历得来的一点见解。希望能给刚刚入门的朋友提供一些有益参考,避免不必要的弯路,这也是我写了这么多的目的。为了能给删繁就简,我把我设想的的学习道路概括为一条step by step的路,让各位捧场的朋友有个直接明确的理解。在实际学习过程中, 并没有这样一条一路走到底的途径,而是不断反复温故而知新的过程。

Step 1. 基础学习---找本好书
入门,尤其是自学,一本好的入门书是很重要的。 不同基础的读者应该选择不同的书来学习。如果是没有任何基础的读者,应该找一本薄的,浅显的讲基本语法的书作为入门,而不该挑厚的“宝典”或“圣经”。 因为,厚的书没有几个初学者能真正吃下来,往往把人吓回去或者半途而废。如果是C语言和C++,谭浩强的那两本书还是不错的。不少高手都骂这两本书写的臭,但是从入门来看,这两本还是很合适的。 C语言还有一本是 《C programming》,也是很不错的一本入门书,而且只有100页的样子,很薄,作者是unix的设计者,书中结合了不少unix设计中的例子,很有实用性。但是我自己的感觉是这本书有点太凝练了,除非一字一字的去体会,否则初读这本书根本没法感悟出作者要表达的C语言的精髓。 对于Java语言,我觉得Sun网站上的在线教程 Java tutorial是最好的,很简单实用,其次就是《Think in Java》, 适合作为初级的进阶读物。
反面的例子就是我读过的《MFC深入简出》 《Windows programming with MFC 》和《Windows programming》,这三本书我最初读了不下10遍,但是每次都没突破过200页就放弃了。这些书在后来我的编程学习中觉得的确是经典,但是如果作为入门书籍绝对是误人子弟的。所以,对于没有任何基础的初学者而言入门最好是找本薄的,简单的书来入门,我学C++的入门书是《一周学会C++》,就60页厚。现在看来那本书里面很多对C++的说明都是不准确甚至是错误的,而且里面对于泛型和STL都没有介绍到。但是这样的书特别管用,让读者在尽可能短的实际里面能对一门语言的主要概念有一个全面的了解。这点是那些经典之作所做不到的。 另外选择这些书的一个原因是这些书往往因为其粗浅或者过时,可以很容易借到或者在旧书摊上找到,便宜实惠,物美价廉。而且这些书都没有收藏价值,等你真正上路之后没有任何作为工具书的价值,所以尽量不要花冤枉钱,就好像没有人会收藏自己当年的奶瓶一样(有变态嗜好的人除外)。

1 条评论:

  1. 我对有收藏奶瓶嗜好的人感兴趣...
    你写了这么多,我却对这个感兴趣,是不是有点冷...

    回复删除