2007年4月1日星期日

浅淡C++

前面接连转了几个和C++相关的帖子,可见对C++还是挺有感觉和感情的。算起来从接触C++到现在,已经有五年了,前四年浑浑噩噩、游手好闲般地混过来,一技无成,白浪费了很多时间,倒是去年此时,受人指引,才恍然发现另有天地,奇珍异草,璀璨夺目,由是一头扎进,遍玩不疲。啃了很多前面提到的经典之作后,突然发现理论水平提高了很多,但实际运用的能力却还是有限,原因在于很少有需要发挥的余地,比如用到C++的各种高级技巧,如大片的GP,曲折的模式之类,退而言之,即使真的需要这些技巧,我也不能发现,这便是经验的问题了,所以实践也很重要,目前缺乏的便是这个。
当然,倒不是说这些经典或是书本没用,了解前人的智慧结晶,还是能指导我们写出优质高效的代码的,只是还远没能发挥它们的最大作用。近半年来一直和GP打交道,主要是阅读代码并修改,理论结合实践,这的确是一个享受的过程,倒仅限于此罢了。
目前各种程序语言也很多了,但仍有很多人一如即往地支持C++,其原因,一部分是因为C++语言本身确实魅力无穷,吸引了一大批聪明而勤奋的人,比如C++中的GP、STL、OO之类,另一方面,C++也比较难以学精学通,很多程序员以学精C++为目标,算是对自我的挑战,好比武功绝学,一旦学成,便可傲视群雄,唯我独尊(这么说有点偏激了,大多数人应该是本着对语言的执著追求而学习它的:)。但真正能到此境界的人并不多,武学奇才也是凤毛鳞角嘛。所以大家都执着地学习这些经典,真正有所成的却也不多,对有些人来说,这倒反而是个负担。比如有人说:连Mayer,Sutter的书都没写过,你就来写程序了?! 或是有人会纸上谈兵:根据Sutter或是Mayer的多少条,这应该这么处理。 做实际也没用,因为没有变通。经典便成了语录,或是教条了~~
因此,我的结论是,如何学用C++是个人的兴趣,喜欢它,并愿意研究它,那便自然会投入时间与精力,如果觉得一般用用即可,大可不必随波逐流,追捧所谓的经典。
当然,前面提到的很多书确实是经典,看了还想再看^_^