我的C++学习之路
在论坛中看到很多朋友对如何学习C++感到困惑。希望我以前在VC知识库的一贴能够给这些朋友一点点帮助。
我的C++学习之路
(anrxhzh发表于2002-1-13 14:07:21)
写这篇文章的目的是给初学者一个参考,看看一个学习了C++很长时间的人走过的路程,也许会有一点参考意义。我并不打算给出一个指导方向,因为每个人的路是不同的。
我是在刚工作的时候(大概六年前)开始学习C++的,更确切地讲是学习VC,因为当时的学习目的并不是掌握一门语言,而是为了掌握一个实用的编程工具。我的学习方法是先随便捡一本介绍C++语法的书,温习了一下;然后凭借两本书和MSDN比较深入的学习了Windows的系统知识(很抱歉现在记不起书名了);接下来买了一本关于VC的书(名字忘记了,只记得它好像是清华出的六本一套),不过很快我就把它扔掉了,我发觉我想了解的东西在MSDN上都能找到。剩下来的时间都花在啃MSDN上了,如果有迷惑就查阅MFC源码。关于MSDN要多扯两句,很多初学者因为英语不太好而不大愿意看它,实际上当时我的英语也烂到家了,不过这并不防碍顺利地阅读,因为MSDN的大部分内容是关于技术的东西,一般你关心的部分总共也没有几个单词,句法也是一成不变的,所以只是在刚开始接触的时候费一点劲,很快就能轻松了。
上面的路程花了我大约三个月的时间,终于可以用VC编写实用的代码了。接下来的年头里我写了大量的代码,积累了一些实用的工程技术。一直到不久前,我对C++仍然没有清醒的认识,一切都为了工作的需要,什么不会学什么,直到有一天,我在VCKBAS上见到一个帖子,介绍一本C++中文电子刊物--C++ View,我下载了第一期,它触动了我,改变了我的方向,。
一个在校生办的刊物怎么会有如此高的水准,远远超出我这个有五六年实践经验的家伙的水准。为了搞明白这个问题,我开始看一些老外的C++著作。
第一本是Scott Meyers 的Effective C++,看完之后暗自庆幸,这本书所讲的理论有一部分是我已经通过实践摸索出来的,其他部分结合实践也是容易领会的。我之所以没有偏离地太远,不是得益于我的软件科班出身(大学四年的大部分时间里我在玩其他的东西),而是得益于追求完美的个性决定了我的编程工作能够在没有系统指导的情况下不至于过分胡来。
第二本是Scott Meyers 的More Effective C++,它给了我一些非常实用的技巧。我又下载了Scott Meyers 的Effective STL 的序和目录,它让我感到了自己的无知。
第三本是Bjarne Stroustrup的The C++ Programming Language。我只能说每看一节,我对C++的理解就提升一节。任何人,如果想真正地理解C++,都不可能绕过这本书,你迟早要碰到它,就像水要遇到海。
啰嗦了这么多,总结一下吧。对于我而言,如果在最初开始学习C++的时候就阅读一些经典著作,那么现在能够拥有的水准和实际拥有的水准肯定不在同一个档次上,我就可以有更多的时间和能力学习其他的知识。嗯,有一丝遗憾。
后记:
以我目前的眼光来检视这篇文章,我庆幸它大部分还是正确的,没有昨是今非之感。唯一的例外是最后一段,我现在没有自信了,“如果在最初开始学习C++的时候就阅读一些经典著作”,结果会如何呢?鬼晓得:-)
再次声明,每个人的路是不同的。我的路比较特殊:在亲身摸爬滚打多年之后才回头阅读C++著作,并且直接选择最高级别的著作。即使是我本人也不能够确定这条路是否是最适合于我的,就遑论他人了。