2007年1月23日星期二

C语言和C++语言

C++是什么?不就是C后面加了两个加号嘛

学习或者关注一件东西,最好从这件东西的历史开始学习起,否则真是如孔子老人家所说“学而不思则惘”了。查理一世说君权神授是因为在他之前英国国王 曾经和贵族爆发过战争,最后贵族和国王签订了《大宪章》限制了国王的权利,但是年轻的查理好大喜功,藐视贵族的利益,所以引起了事后的种种问题。同样甚至 在数理科的东西上,历史也给这些学问赋予了很多的亮点。生巴巴的学爱因斯坦定律和量子理论肯定会让人晕倒,但是你可知道其中的联系?所以我建议你去www.google.com上搜索“上帝掷骰子吗?”。中国死板的教科书似的书本很容易让人产生厌学的情绪。

国内现在的现状是“用C语言的方法教C++” ,借口也很冠冕弹簧,说是什么“不打好基础怎么能够学好更高层次的东西哪?”。我不由得对刻意或者不刻意的说这些话的人表示刻意或者不刻意的厌恶。首当其 中的就是那个SB谭浩强。我承认老谭在C语言的教学上是有一定的功劳的,那本教材编写的也算是不错(关键原因是没人翻译国外的经典名著,否则哪论的上上他 写书?),不过也不该由此产生骄傲自满的情绪呀,以为自己是权威了,就可以胡乱放屁了吗?我真怀疑老谭到底懂多少C++,不过当年看过他写的C++的教科 书以后我真的是非常满足了,感觉自己学的确实不错了,比老谭的档次都高了许多,:-)

骂完了人,就要回到题目上来了。靶子还是那句话“不打好基础怎么能够学好更高层次的东西”。我举个例子,有一天外星人来到地球从地球上面带走了一只 大猩猩和一个人,然后交给了外星人的动物园里面。动物园里面的饲养员看看新来的“动物”,感觉都差不多,就说“这两只新动物都差不多,不过看起来这只比那 只高级一些,我就先训练这只长毛的东西吧,然后就能够训练那只没长毛的东西了”。听起来可笑吗?虽然人是由猩猩进化过来的,但是这是两种完全不同的东西 呀,你以为你苦心训练的饲养猩猩的方法对人有效吗?不见得,甚至会影响你思考,让你得出驴头不对马嘴的结论。同样对于C和C++来说,看起来C++是在C 的基础上面做出了些修改的出的东西,但是这些修改已经使C++完全成为了一种新的东西,如果还用旧的模式来看他的话,只会影响你的思考和眼光。

所以我建议学习的时候完全不要听那些SB(学霸)们的言论,很多外国有名学者写的很多C++入门书都很不错,建议阅读。

没有评论: