Kingofark关于学习C++和编程的50个观点2003修订版

本文是关于学习C++和编程的50个观点的修订版。作者强调把C++当成新语言学,推荐了多本C++学习书籍,如《Accelerated C++》等。还指出学习要避免浮躁,注重实践、阅读源码、掌握标准,同时要重视异常处理和版本控制等。

Kingofark's 50 Points of View About Learning C++ And Programming

K ][ N G of A R K™关于学习C++和编程的50个观点

2003修订版

Revision 2.0

by K ][ N G of A R K ™


前 言

Long long time ago, on a topic far far away……是的,很久很久以前,kingofark无心之中写了一篇关于学习C++和编程的发牢骚的文章。未曾料到的是,这篇文章被N个好心的网络同胞流传至今,以至于作者得意忘形的将文章简称为Ks50PV,在浅薄和浮躁中麻醉自己。

某个醉生梦死的深夜,kingofark关上电脑,屋内一片墨黑,忽然发觉窗外的透彻和宁静。凑到窗前向天空看去,惊讶的发现白光——不,Agent Mulder,不是UFO——来自圆月。笔者联想到了牛郎织女——先辈们早已灰飞烟灭,只有故事被流传下来,因为被流传而流传。

一篇文章不能因为被流传而流传,被流传的不应该是流传本身。带着这样的冲动,kingofark又打开电脑……

眼前给大家展现的,是经过kingofark重新审视,结合作者最新感受的修订版。其中有些条款彻底的更换或者修改了。这一方面反映了国内图书市场近年来发生的变化,另一方面也反映出:其实有些时候,无知的人说得最多。欢迎大家批评讨论甚至予以唾弃。

在这个修订版中,作者没有删掉旧的条款,仅在新旧条款前加了“新”、“旧”二字以示区别。新旧条款下面伴有作者的评论。


1. 把C++当成一门新的语言学习(和C没啥关系!真的。);

是的,我们仍然应该抱着这样一种心态来学习C++。前一段时间,C/C++ User’s Journal 上面有一连串关于C与C++关系的文章,Bjarne Stroustrup、Herb Sutter等几位C++领域的大师从不同方面讨论了C/C++今后发展的问题,颇为深刻。

看问题有深有浅,有高有低。我们不是大师,不要把C和C++说得好像自己的两个儿子。

水果刀是一种刀。瑞士军刀也是一种刀,但它何尝不是剪刀、起子、锯子、锉刀、牙签、指南针、尺子、放大镜……?谁在使用瑞士军刀之前还要先培训如何使用水果刀?另外,在水果刀上面粘一个剪刀、起子、锯子、锉刀、牙签、指南针、尺子、放大镜……我估计也不会太好用(不叫“瑞士军刀”,叫“超级武器霸王3000”)。


旧:2. 看《Thinking In C++》,不要看《C++变成死相》;

新:2. 看《Accelerated C++》,看《C++ Gochas》;

如今《Thinking In C++ 2nd》也出了中文版,翻译质量好坏kingofark不想再谈——毕竟有人(至少在www.china-pub.com上)觉得翻译还不错。经常忍不住要去跟人争辩翻译质量的kingofark忽然明白了萝卜白菜定理的另一个推论:看书好像看A片,有人爱看欧美,有人爱看日台,各得其乐。自己去衡量罢,不过最好不要参与图书信息页上面的无聊口舌战。请记住一句话,一句就好:管它黑猫白猫,能抓老鼠就是好猫。

Andrew Koenig的《Accelerated C++》是一本真正具有实践性的入门书。该书传承了《Ruminations On C++》的阐述方法,通过一个又一个具体的设计实例充分体现使用C++进行开发的真正优势之所在。事实上,笔者觉得Andy的书都是程序员必读(还好不算多)。对于《Accelerated C++》的评论,国外网站上皆有,笔者不再累述。

Stephen C. Dewhurst的《C++ Gochas》是一本“奇特”的书。说“奇特”不是因为Gotcha这个单词对于中国人难于理解(何况中译书干脆把这个标题扔掉不要了),而是在于:Dewhurst用酸中带刺、笑里藏刀的口吻提醒程序员一些编写C++程序(本来就)应该注意到的问题。这些问题中,有编码细节问题,有编码习惯问题,甚至有个人修养问题。CUJ上有一篇对该书的评论,笔者认为还比较中肯。笔者看了该书的样章以后的感受是:忠言向来都逆耳;这本书中的观点你可以不认同,但其确实引出了一些应该注意(而通常没被注意)的问题,这对于一个程序员来说是非常值的关注的。


旧:3. 看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;

新:3. 看《The C++ Programming Language》和《Insid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值