<中文版>
C++现在可以作为高级语言来讲授了.也就是说,重点一开始就可以放在算法和容器上,而不是用在什么位呀,联合呀,C风格字符串,数组等东西上纠缠不清了.自然,底层的概念(如数组\重要的指针应用和强制转换)最终还是要教要学的.但是,可以等到作为新手的C++程序员\读者或学生已经成熟,能够在实现这些功能的高级概念的大背景中看待它们的时候,再对这些功能进行阐述.
我想特别强调(怎么强调都不过分)的是,应该多使用静态类型安全的字符串和容器,而不要学那些使用大量宏\强制转换和数组的编程风格.其实,可以根本不用宏,并且只在很少的非用不可的情况下才使用强制转换.我认为C\C++形式的宏是一种严重的缺陷--现在因为有了模板\名字空间\在线函数和常量这些正确的语言功能,它很大程度上更是一种多余了.同样,在任何语言中,强制转换的大量使用都是设计不良的标志.宏和强制转换是错误的主要渊源.不用她们也能工作,这一点大大提高了C++编程的安全性和优雅性.
标准C++改变了我们使用C++编程\设计程序以及教授C++编程的方式.这些变化不可能"毕其功于一役".我鼓励你在标准C++的编程方式上好好下一番功夫.我想脱胎换骨是有可能的.但是别太死心眼了.奇迹是不存在的,在产品代码中使用仅仅一知半解的语言功能和技术是相当危险的.现在该开始探索,开始试验了--标准C++真正对你有裨益的地方,就在理解新概念和新技术的旅程中!
旅途愉快!
Bjarne Stroustrup
<特别版>
去编程就是去理解.
--Kristen Nyggard
<第2版>
前路漫漫.
--Bilbo Baggins
<第1版>
语言磨砺了我们思维的方式,也决定着我们思考的范围.
--B.L.Whorf
"……而你,马库斯,你已经给了我许多东西;现在我要给你这个极好的忠告。做一个普通的人。放弃总是扮演马库斯.克可查的哪个游戏.你为马库斯.克可查操心操得太多了,以致你已经变成了他的奴隶和囚徒.你在做任何事情之前都要首先考虑它将如何影响马库斯.克可查的幸福和声望.你总是非常害怕马库斯可能会做一点愚蠢的事,或者令人讨厌的事。这些真的那么有意义吗?整个世界的人都在做蠢事……我真心希望你能轻松一点,让你那小小的心回到轻松的状态。你必须从现在开始,去做不止一个人,做许许多多的人们,就像你可能想到的那么多……
--卡伦.布利克森
("梦想者",出自"七个哥特人的传说",
笔名伊萨克.迪尼森,
Random House lnc.
版权所有,lsak Dinesen,1934年,1961年修订)