刘未鹏|C++的罗浮宫

Knowledge sharing is the best reuse

刘未鹏ID:pongba
[修改头像]
703862次访问,排名42好友7人,关注者62
pongba的文章
原创 99 篇
翻译 8 篇
转载 0 篇
评论 1509 篇
刘未鹏的公告
除非特别声明,本站采用Creative Commons License许可。转载请注明作者、出处,非商业。

喜欢这个Blog的风格?见这里这里,还有这里

我的豆瓣饭否

讨论问题请到TopLanguage小组

TopLanguage

gtalk/msn(邮件请发送到gmail邮箱)

pongba@gmail.com
pp_liu@msn.com

订阅C++的罗浮宫

  • FeedSky
  • 订阅到鲜果
  • 订阅到Google
  • 订阅到抓虾
  • 订阅到BlogLines
  • XML聚合

搜索C++的罗浮宫上的内容

最新发表

    whaz going on


    饭否

    books I've translated




    最近评论
    李彬:我大一本科,也是所谓的“信息与计算科学”专业的,现在拼命学习C++,学些高代 分析之类的课,其他课实在没兴趣,我接触电脑业比较早了,前辈们的经验一定会让我少走弯路的
    pongba:@julie:
    sorry, 不知道啊:-)
    Kenny:“肯德基和麦当劳的食物中的热量早就超过了人体所需,但我们的身体系统还是照样笑纳”

    对这个,我有点话要讲:肯德基和麦当劳套餐一直比中餐馆的食物更健康——当然,这个是从统计意义上来讲的,如果有个MM进中餐馆后一直点素炒苦瓜加一碗米饭那就别说了

    我觉得你这句话写得有失水准,平时看BLOG感觉你满有深度的,但这一句可能是人云亦云得太多了吧?
    julie:请问:Viking Adult出版社在哪个城市?

    我在豆瓣上看到你读过斯蒂芬平克的思想的材料

    pongba:@bigfatsea:
    Ma和Mb只需要两相比较便至少可以扔掉一个,所以不存在复杂度问题。
    另,你的方法,包括上面列的方法,本质上都是一样的。用的都是一个关键性质。所以..
    关键是不同的思路,引领到同样的答案。
    文章分类
    收藏
    相册
    其它图片
    文章中的图片
    我的大头贴
    C++
    Andrei Alexandrescu
    Andrew Lumsdaine
    Bjarne Stroustrup
    boost
    C++ Standard Commitee
    Doug Gregor
    Hans J. Boehm
    Jaakko Jarvi
    Jeremy G. Siek
    Matthew Wilson
    newsgroups
    boost.Developer
    boost.User
    comp.lang.c++.moderated
    comp.std.c++
    TopLanguage
    Open Source
    codeplex
    Google AJAX Search API
    Google Code Prettify
    Google Web Toolkit
    MS shared source initiative
    notepad++
    STLSoft
    不认识的朋友们
    fatalerror99
    Yelz
    余晟|乱象&乱想
    刘慈欣
    姬十三
    张志强|阅微堂
    许式伟
    阮一峰
    鲍志云
    其它
    科学松鼠会
    科学美国人
    科幻世界
    认识的朋友们
    chenyufei
    duguguiyu|Venus神庙
    Joyfire
    littlestone
    lxwde
    Matrix67
    soloist
    云风
    刘江@图灵
    史晓明
    周星星
    周筠@博文视点
    孟岩
    张振
    徐宥|4G Spaces&Web 2.3
    方舟@博文视点
    李笑来|Pure Pleasure
    杨文博
    王信文|地球没有好朋友
    荣耀
    莫华枫
    袁泳(g9)|负暄琐话
    谢东升
    陈冀康@华章
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 关于谭浩强老先生的《C++程序设计教程》

    新一篇: 我的C++学习历程(old)

    近日踱入书店,惊讶的发现国内又出了一本C++教材.红色封面,厚重庄严,书脊上印有“国家XXX优秀教材”等熟悉字样,拿起来一翻,作者竟是如雷贯耳的谭浩强老先生.这位出生C语言的老教授在C领域的贡献可以说是“地球人都知道”(连我这个不学C的都知道^_^).
    但是,令我惊讶的事情来了:
    翻开目录,从头到尾浏览了一遍...
    嗯,不错,中规中矩,有条有理,井然有序,巨细靡遗(还有什么成语来着?^_^!)
    但是,(咦,我为什么要说“但是”呢?),我惊讶的discover:居然整个目录没有任何地方提及template,或模板字样,更不用说GP了(哦,你说STL?好像也没有).仿佛C++中从来没有GP似的(:$),一时间我对自己的认识产生了怀疑:)
    我当时就继续往后翻,想看看是不是目录的后半部分被撕掉了(^o^),但是很显然,页码是连续的,我错了(:$)

    当然,这是一本教材,教材是学生入门最重要的工具,应当给予十分的重视,就象启蒙教育一样.
    不能不说谭浩强老先生不重视,翻开他的这本书,仍然是到处可见实践中的真知,但是Bjarne Stroustrup早就说过,C++并非一个better C.C++是一门全新的语言,C++中的一个最重要的范式就是GP,通用(general purpose)的编程思想是C++中最为优雅而强大的范式.怎能忘了GP?

    无论是<Essential C++>还是<Accelerated C++>(它们都是极为经典的入门教材,特别是后者,作者Andrew Koenig是C++社区中最有发言权的人之一,也是最善长深入浅出的长者,还是唯一一个名字出现在ISO.C++标准中的人(见koenig lookup) ),他们都把STL,GP放到显眼的位置,教育程序员一开始就有generic programming的思想,把这种思想融入到日常的设计和编码中--从它们那里,我们看到C++的教育正走上真正意义上的正轨.

    但是,(咦,我为什么又要说“但是”呢?^_^!),作为国内知名度如此之高的谭先生,出了这么一本<C++程序设计>本来是件好事,虽然C++经典入门教程已经出世,但是有”原汁原味”符合国人习惯的书总是好事吧,然而谭教授的教育方式却是史前时代的“C++ as a better C”,这就有点那什么了.现在国内的C++应用仍然停留在较浅的层次和教育可以说是分不开的,教育是至关重要的一环,但是我们的谭教授尽力了吗?

    虽然谭教授的书中可能并没有错误,并没有误导学生,可以说是 “do things right”,然而,谭教授却没有“do the right thing”.

    所以说,谭教授的书真的没有误导学生吗?

    或者,思想上的误导才是最可怕的误导.

    [BTW.后来我忍不住又把书翻了一下,这下不只翻目录了,我翻看了关于类的部分,总算在一个“角落”翻到了关于模板语法的讲解,聊聊几行,“言简意赅”,对应一下目录,原来位于一个类似“扩展讲解”的部分(具体目录名不记得了).而函数模板,我也就没有心思再找了,模板偏特化,函数模板重载...关于模板的设计,通用(或称泛型)编程思想的介绍,反正我没有看到,或许会在那个角落再次“言简意赅”的提一下吧,我已经没有兴趣了]

    发表于 @ 2004年11月26日 20:04:00|评论(loading...)|编辑

    旧一篇: “Coding在西元前”——写给所有热爱C++的朋友

    评论

    #c++的初学者 发表于2004-11-26 22:17:00  IP: 218.20.61.*
    请问国内哪本c++的入门书比较好啊?我想学c++是为了作为java的基础,我应该怎么去学习啊?请高手指教!!
    #bencsdn 发表于2004-11-26 20:25:00  IP: 210.83.212.*
    不光谭浩强的书没有。很多国外的精品书中也没有呀。
    #Justin Shen 发表于2004-11-26 20:33:00  IP: 221.137.114.*
    咔咔 中国写C++教程的人,水准大多停留在98年之前,STL定然是不懂的...GP也是闻所未闻的。
    #刘未鹏 发表于2004-11-26 20:49:00  IP: 218.94.9.*
    to bencsdn:
    国外的经典书籍肯定有的,不然不能称为经典,hoho~
    象<Accelerated C++> *****
    <Essential C++> ****

    我是说入门教材.

    当然,<Thinking in C++>不能算经典.<C++ Primer Plus>也根本不能算!
    #周星星 发表于2004-11-27 13:59:00  IP: 218.2.111.*
    可恨的中国教育,可怜的中国学生!
    看了这样具有误导性的书籍,怪不得有多人认为C++不比Java和C#先进多少,原来它们看的是85年的C++,可怜呀!
    #Justin Shen 发表于2004-11-27 21:42:00  IP: 221.137.114.*
    寒一个...我的第一本书也是钱能的,虽然也因为这样导致我很长时间不懂template有什么用...不过OO和OB的概念还是有一点了。之间也看过《Essential C++》候老师的译本,但老实说看了个晕头转向...(我到现在也还是觉得这本书,候老师翻译得并不是很好)不过也因为这书知道了有STL这么一回事 :)

    然后看《Effective C++》也是候老师的译本,这本书的翻译实在非常精彩,我的C++真的有一点入门也是从这个时候。《The C++ Programming Language》也是差不多这时候买的,然而买回来发现自己完全看不懂,只好先扔在一边了。这段时间里对template的概念还是很模糊。这种状况一直要持续到看了候老师的《STL源码剖析》为止。《C++ Primer》出版之后,又比较全面的复习了一遍。

    再然后就看了《Modern C++ Design》和《Inside C++ Object Model》,这段时间自己的英文水平比较长进了,开始看原版的书。之间还断断续续看过一部分《Exceptional C++》和《Effective STL》。

    之后有一段时间没有再看C++方面的书,不过前段时间把《The C++ Programming Language》的影印版翻出来看,发现这本书讲解得真是透彻,又有了很多新的收获,所以这几天还一直在看。
    #辣子鸡丁 发表于2004-11-27 15:29:00  IP: 222.183.141.*
    >原来它们看的是85年的C++
    这句话有意思,85年的C++没有Template和Exception,我们用的教材里有提到模板,寥寥几句,而异常是一字未提。更吊的是,错误百出。不知道这些搞教育的人到底是在做什么。
    #刘未鹏 发表于2004-11-27 16:15:00  IP: 218.94.9.*
    但是无论如何,我得承认,我学C++的第一本书是钱能的<C++程序设计>.

    现在对于初学者,建议一开始就看<Accelerated C++>(国内出了中文版,还不错).

    看完了就把Bjarne Stroustrup的圣典摆在手边开始一边实践一边学习:-)
    #毛了 发表于2004-11-28 16:22:00  IP: 220.166.172.*
    该书 很不好 你看了书后会养成一种坏习惯 就是变量命名 i j k
    #影法师 发表于2004-11-29 15:41:00  IP: 61.152.122.*
    记得读书的时候学校也有C++的课程,一学期下来连new,delete是干什么的都不知道,虚函数就根本没听说过,只知道C++就是比C多了个CLASS。现在想可能教我们的那个老师的C++也仅限于此吧。
    #kingseamountain 发表于2004-11-28 21:12:00  IP: 61.51.146.*
    由《The C++ Programming Language Special Edition》或《C++ Primer》入门,其间参考《The Design and Evolution of C++》,然后《Thinking in C++》,接着《Inside C++ Object Model》,然后就是各种库的手册和源代码。以上书籍中英文版国内都有售,多数库的手册和源代码是很容易得到的。
    #gr 发表于2004-11-29 17:31:00  IP: 61.50.237.*
    希望中早点有一本好点的书.
    #lcb 发表于2004-11-30 00:50:00  IP: 202.104.103.*
    "...应当声明:本书的对象不是C++的专业开发人员,而是高校各专业的大学生..."

    谭老已经申明了,你愿者上钩,怪得谁?列位看官仔细看呐。学术同官僚拉扯起来的后果就是怪胎。你不懂没关系,出来害人就不对了。
    这已经失去了评论的价值。
    #cpunion 发表于2004-11-30 02:05:00  IP: 218.17.97.*
    看谭的C语言教材学的,结果指针部分看得迷迷糊糊。后来看了另一本,讲得很浅显易懂。

    变量名i,j,k我已经习惯啦,没办法,好在多半用在循环的地方,还是容易懂。

    好像最大的问题出在一个循环上,谭老说for (i=0; i<MAX; i++)和for (i=0; i<MAX; ++i)会有不同的执行结果,我当初怎么测试都看不出有什么不同,害我浪费了个把星期。。
    #非子 发表于2004-11-30 19:37:00  IP: 221.0.30.*
    这本书我快看完了,还不错啊,特别容易入门,你没仔细而已,你要是水平很高的话,当然没有必要看这本书了。我原来看别的C的教材看几天就烦了,看谭老的书是比较爽的,当然这本书只是入门,但是它能让你的基本功很扎实,这是最重要的。我反正觉得这本书不错,挺适合我的。其实,适合是最重要的,不过这里面有许多小的错误,但没有大的错,保你一个星期C++入道。
    #刘未鹏 发表于2004-12-02 14:15:00  IP: 218.94.9.*
    非子:
    当然,你这么说也不无道理.
    我只是怕这本书并没有让你入C++的"道" ^_^
    #cleni 发表于2004-12-08 01:33:00  IP: 218.10.60.*
    up stair , say the truth!
    to Tan lao: write book by your soul! not any other
    #王权威 发表于2005-01-19 21:31:00  IP: 218.28.27.*
    for(i=0;i=1;i++)
    for(i=o;i==1;i++)
    分别作为循环体,问分别循环多少次?
    #王权威 发表于2005-01-19 21:31:00  IP: 218.28.27.*
    for(i=0;i=1;i++)
    for(i=o;i==1;i++)
    分别作为循环体,问分别循环多少次?
    #阿木 发表于2005-01-27 12:02:00  IP: 211.158.33.*
    我比较喜欢看国外的教材 至少什么东西都讲到了
    中国人写的 都有点缺陷 当然不是说潭老师不好 潭老师还是我很敬重的先生!!
    #大米 发表于2005-01-27 14:44:00  IP: 218.94.92.*
    且不说老谭在C++到底如何,就C来说的话,那本“超经典”的什么里面还有那个滥用#include的毛病呢,真不知道该说啥好
    #在这里 发表于2005-02-08 00:24:00  IP: 221.216.237.*
    教材还是选国外的了。
    #张振 发表于2005-03-25 15:36:00  IP: 221.226.124.*
    ppliu,最近忙啥?我工作了,发现自己要从头再学C++,
    有空指导一下
    #kent 发表于2005-04-26 11:29:00  IP: 219.133.152.*
    作为一个入门教材算是国内最好的了,,少点废话,有本事你自己写本出来。。。作为一个初学者来说,就算把template,或模板字样、GP放进去,会有几个人学得懂,反而使人失去学C++的信心。

    站在另外一个角度思考吧!
    #刘未鹏 发表于2005-04-26 16:34:00  IP: 218.94.9.*
    to kent:

    其实你这么认为是不对的,模板并非什么神奇的特性,其思想其实比强类型语言还要容易掌握,如果你知道一点FPL就应该清楚,模板只是无类型语言的强类型版本而已。
    这是一个普遍的误解。认为C++中的GP是高深莫测的东西:)

    我并不否认谭老说的都是对的,但问题是,如何去说:-)
    国外已经进行了这方面的尝试,效果不错(如Accelerated C++,You Can Do It),C++之父也在写这方面的新派教程,不久也会出版:-),其教育思想里面都有个共同点,将GP作为一条主脉来教,可见这条路是对的。

    至于我是不是写得出来,呵呵,不妨碍我发表自己的一点愚见哪:-)
    #http://blog.csdn.net/pongba 发表于2005-08-27 18:30:00  IP: 211.100.4.*
    to 阿虹:
    本来是没什么的,这类“C++”教材满天都是,多谭老一本也没什么,但谭老是何许人?多年前一本C语言教程就红透天了,知道他名气的人太多,光听名气就买他的书的人也比比皆是,毕竟一个初学者能有多大鉴别能力呢?所以多少也得注意点不要误导别人对吧:)
    #疯子阿虹 发表于2005-08-27 12:46:00  IP: 211.100.4.*
    你怎么这么较之啊~

    谭浩强的书也许你现在看是很菜,但是这本书的目的是为了教育,为了普及计算机语言,而不是为了让大家通过这本书去搞开发。

    我当时学C语言的时候看得就是他的书,他的书里面一样没有讲到C的一些高级东西。书籍是一种针对性的东西,而不是大杂烩,国外的大师的书籍的确本本都有,但是他们是系统的,是专对C++开发者写的。谭浩强的出发点当然和他们不一样,当然内容就不一样了!这没有什么疑惑的。反倒是把这些内容加进去,看得人到疑惑了,如果一个大学老师深入的去将STL,Template。别说学生了听起来一团糟,自己的备课时间也要加大不少。理解是有过程的,记得我当时在学校的时候,很多同学对虚函数都是朦胧的……

    如果我问初中物理中为什么没有相对论,初中数学中为什么没有微积分,你会怎么想?

    道理都是不言而喻的。~
    #CTBU 发表于2005-09-17 08:41:00  IP: 211.100.21.*
    潭浩强,现在应该甘于寂寞.早点退阴江湖吧.

    在思想上制造误导,就是罪人.

    人活着,不要一心想着赚钱.

    潭之C 语言,也是泛泛而谈.始终没有突破.
    C语言没有过时.而潭和他的C以过时了.
    #谭浩强 发表于2005-09-18 17:52:00  IP: 211.100.21.*
    你们这一群小孩子知道什么是普及么?这本书的定位与EC,AC不同的。由c到C++的过渡总的有个过程的嘛。以后不要随便说我的坏话。要多替老人想一想嘛。
    #hayate 发表于2005-09-21 12:49:00  IP: 211.100.21.*
    如果我问初中物理中为什么没有相对论,初中数学中为什么没有微积分,你会怎么想?

    GP不是相对论 GP也不是微积分

    在我看来 GP要比那些指针数组 数组指针的思维体操要容易的多了 不管GP讲到多深 总之要体现对它的重视

    一本书 特别是入门教材 如果在思想上误导读者的话 那就是最大的罪过了
    #安安 发表于2005-11-30 03:08:00  IP: 61.50.221.194, 211.115.69.*
    没有批到实质,这样不太好。
    #youbug 发表于2006-01-03 21:49:00  IP: 61.150.43.*
    cpunion 发表于2004-11-30 2:05 AM IP: 218.17.97.*
    看谭的C语言教材学的,结果指针部分看得迷迷糊糊。后来看了另一本,讲得很浅显易懂。



    这点我完全同意,谭老的书嘛......咳咳咳咳
    #user 发表于2006-01-12 14:40:00  IP: 218.79.239.*
    谭的C语言教材 真的很烂(其实我想说它是垃圾),整整误了我2年,后来有幸看到Bjarne Stroustrup《The C++ Programming Language》简直醍醐灌顶!
    #user 发表于2006-01-12 14:43:00  IP: 218.79.239.*
    补充一句,拿谭的C语言去上厕所都嫌脏了我的pp
    #raiden56 发表于2006-01-26 14:37:00  IP: 218.88.124.*
    国人的C++书里我只看钱能的那本C++程序设计 的确讲的比较简单容易理解
    #zbchun 发表于2006-02-16 12:54:00  IP: 61.141.70.*
    正因为学生们看这种书入门,所以刚毕业的学生总是不受欢迎
    好不容易研究完这种书,觉得自己可能也算高手了。不料别人随手拿个小程序过来都看不懂:“这是C++吗?怎么会有这么多稀奇古怪的符号?”
    #dhatqd 发表于2006-04-23 12:01:00  IP: 222.174.142.*
    谭浩强这本书错误连篇,“覆盖”和“重载”不分,估计老先生只是业余学的,水平很业余
    #bleakwood 发表于2006-04-27 23:05:00  IP: 172.18.100.*
    这帖居然这么的经久不衰……佩服佩服

    俺刚大一开始学C++,书是学校系里几位老师编的《面向对象程序设计基础》……更恐怖的是其中两位编者还是C++ Primer第4版中文版的译者,结果现在开始在班里7折大甩卖C++ Primer,可惜大家都不太看得懂……

    按我说中国好多学校这么讲C++还不如去讲C,动不动“传统C程序员如何如何”,然后还把类先跳过不讲,指针倒是讲得个昏天黑地,就像hayate说的“头脑体操”,脑筋急转弯似的,这样下去我看到毕业可能都不知道什么是标准库

    不过,对于中国的老学究们,放弃原有知识跟上时代的步伐是很难的吧,他们很多时候,大概都在忙着自我陶醉
    #mcs51a 发表于2006-05-07 19:56:00  IP: 58.34.159.*
    在有了对语言的基本东西一定把握后,再去深入,总比一下子深入好吧.
    #清风雨 发表于2006-05-16 14:53:00  IP: 58.247.3.*
    看到各位大牛在这讨论,是不敢胡乱掺和的。
    我想,思想才是重要的。

    一本书能包含的内容,是有限的,多而杂,反而不得要领。
    记得有句话:师傅领进门,修行靠个人。
    何况孔子的学生也都大多没有什么才学。

    教育,取决于当前的实际情况,而制定适宜的方针。

    #清风雨 发表于2006-05-16 15:18:00  IP: 58.247.3.*
    我不知道你和周星星怎么看。
    GP也只是一种方式,记得我在自己肤浅的GP思考中,得到的结论是:普通开发中,GP并不是一个好选择;做为库开发,或许是一个很好的选择,但STL的实现,在Java实现同样对等的功能并没有采用GP。
    记得你谈到过GP是面向结构和操作对等,据我肤浅的理解,比如map要求key必须有operator <等。
    而这一点,在一般情况是没有OO来的方式直接的。
    当然,GP带来的性能是一方面的好处,但出错的代价是昂贵的,而且如果大面积普遍使用,也不一定会带来性能提升(当然,我想99.9%的情况是可以获得微不足道的提升的)。
    我想无论OO或GP,其思想才是最重要的。如果满脑子钻进特化、技巧,那么整体也就被忽略了。
    可能因为我对GP肤浅的认识,导致我没有意识到它带来的变革。
    其实,我一直很想知道GP带来的好处。—— 你的图灵机的论证,我看了,只是我还是没有意识到GP的极大好处。
    我还是停留在,GP重在G,而特化只是优化技巧罢了(不利用编译期选择,也同样可以手动“特”优化)。
    还有functor,我觉得只不过是语言和编译器联合定义了一个接口罢了(STL库都是基于这种接口的,也是你说的结构算法特性),这个接口添加了一个语言特性,无疑相当于增加了语言复杂性(我甚至怀疑,其实C++本来没有这个operator()(...)的,为了STL和GP被迫添加了),那么算不算简单的事情复杂化了呢?

    我的认识比较浅,恳请指点!
    #刘未鹏 发表于2006-05-16 16:42:00  IP: 218.2.144.*
    to 清风雨:
    ^_^我记得我在你的blog里留言谈到这个问题的。

    GP用在日常开发当中确实比较难,偶尔用于构建一点小小的utilities或许是不错之选,想要整个项目到处用GP是不现实的,也完全没有必要。
    的确,GP的主要用途在于库的构建上。确切地说,我觉得在两个方面,一是一个构件的结构上。二是接口上。
    这两点随便拿boost里面哪个中度运用GP技术的构件来看一看都可以得到验证。如boost.statechart就同时展示了这两点。
    第一点带来的是一个构件的结构的灵活性和适配性,当然,也包括泛用性,甚至美观性。
    第二点带来的则是接口/使用界面的适配性,简洁/美观性。
    最后,这两者结合起来可以作为Active Library的支撑技术,因为可以通过GP技术来获取使用点的上下文,从而针对特定的使用进行结构的调整优化,Blitz++是一个不错的例子。
    当然,我觉得C++ GP最大的能力还是在Framework的构建上,这点相信大家都不感到惊讶,其支撑技术仍然还是上面提到的两点。
    至于图灵完备性,只是个性质,我写那篇文章纯粹出于兴趣,实际与C++无关。
    另外,C++ GP充满像今天这样的各种trick/techniques也是无可奈何之事,你可以说这是语言当初设计之时远见不够(当初GP引入纯粹只是为了复用/效率之目的,或者说,干脆就是为了作为STL及其思想的支撑技术而引入的,其设计者根本没料到GP居然是一门图灵完备的子语言,实际上也正是这一完备性支撑了后面一系列技术技巧的诞生),但这是每门语言发展的必然之痛,局限性是难以避免的,C++ GP能够做到无意识中就造就这么个“怪物”已经很不错了,放在5年前大家都没料到会有这么多GP为支撑技术之一的库诞生吧。随着C++0x的到来,会有相当一部分GP技巧被obsolete掉,如traits,enable_if,typeof等等,GP代码的"as elegant as possible"也能够得到最大程度的实现(auto/variadic templates/concept/decltype四大天王^_^)。
    #cleni 发表于2006-05-27 20:14:00  IP: 218.8.249.*
    疯子阿虹,你应该去看basic。
    正因为我们的中小学不介绍费玛大定理,它的证明被国外的小学介绍费玛大定理的学校的学生证明了。如果儿童一定要学儿语,长大就确实是一种痛苦。
    很多概念,一旦形成成见,一辈子就完蛋了。很难改的,相信你深有体会。
    我的亲身体验告诉我,GP决不是只在编译期优化那么简单,它会改变模式的表达,如果它是古老的东西的新芽,就更不该拒绝它。我相信它是奇迹的生长点。我已经通过自己的行动体验了这一点,它允许你扩展语言,一个语言允许使用者构造新的概念,这是C++的伟大之处,我们确实需要这样的工具来避免商业文化把我们异化成机器人。
    #谭老你好 发表于2006-06-03 13:47:00  IP: 220.201.38.*
    先不管什么GP、OO还是OB,开篇一看int foo(int n)而不是int foo(const int& n)的函数声明方式就知道谭老别有用心。谭老在书后面附上一大堆参考资料,就包括几本经典教材嘛。说明他不是不懂那些东西,它只是怕我们中国学生看不懂那些经典教材,所以有意"扭曲"了一下。至于书上代码的书写方式,他只是为了节约中国宝贵的纸张资源,所以故意把代码挤作一堆。
    #谭老你好 发表于2006-06-03 13:59:00  IP: 220.201.38.*
    “在有了对语言的基本东西一定把握后,再去深入,总比一下子深入好吧.”

    有几个把谭老的书掌握得不错的同学,问我为什么在一个cpp文件里用extern int i;声明了所谓全局变量i,会有连接错误。我翻了一下那本书,书上对extern关键字的解释虽然没有错,但是读过那段文字的初学者十个有十个会理解错。即把extern理解为“声明这个变量为全局变量”。呵呵~谭老的书魔力大吧~
    #rwxybh 发表于2006-07-07 23:21:00  IP: 210.76.108.*
    谭老的书确实够老
    当年我学C的时候(99)还这么写呢
    int fun(x,y)
    int x, y;
    {
    ....
    }

    虽然我不这么写已经好多年
    #min2max 发表于2006-09-02 20:08:00  IP: 60.21.2.*
    没办法,时代的变迁。
    国内的许多方面意识是落后太多的。举个简单的例子,对于变量/函数的命名、编码的风格,国外是当学问来研究的。我们呢,(想当年)基本代码能跑起来就不错了,那里还有什么优雅、复用、异常安全?
    哈哈。现在终于有点改观,说到底还是开放和交流带来的好处。要不恐怕更惨。

    #min2max 发表于2006-09-02 20:11:00  IP: 60.21.2.*
    老一辈并非圣贤,当然或有不足的地方。说得刻薄一点,必然也会有阴暗的一面。
    但是话说回来,老前辈的贡献也是不能抹煞的。否则不够厚道啊。
    #jinti 发表于2006-10-08 02:50:00  IP: 221.221.252.*
    也没有错啊

    c++一定要用template吗?

    c++没了GP就不好了吗?

    真是奇怪的观点

    #rickerliang 发表于2006-12-21 12:34:00  IP: 219.136.210.*
    要说的始终要说,知道的但不去使用与无知是有本质的区别
    #Gujian271 发表于2007-03-26 21:49:12  IP: 125.96.25.*
    谭老先生的书写的太枯燥了。
    #roy_hu 发表于2007-05-25 00:32:30  IP: 199.111.223.*
    谭浩强的书太重细节,好书还是得看原版。
    #CaiKanXP 发表于2007-06-10 17:46:13  IP: 60.190.149.*
    咋一看,感觉与你那篇《你应当如何学习C++(以及编程)》的思想相差不小,那篇说是不要迷失于细节之中,而此篇却说新教材未重视新知识(或者也可看作更深层次的“细节”?)。
    也许是因为我还没读透此篇的意思吧,不过如果你有时间把那本新教材也拿去读透点,是不是会有新的观点呢?
    #lxrm_fly 发表于2007-08-31 11:56:39  IP: 124.114.202.*
    老谭的书,C那本初学时根本就看不大懂.
    主要原因是:
    1、他讲话太啰唆,有时一个简单的东西他要绕半天才讲明白,
    前些日子看《C++沉思录》和《C~C++程序员参考大全》,发现人家讲指针,
    讲地址,一看就明白。
    2、定义不标准,太过笼统!导致初学者不明所以然。*
    3、没有在适当的地方列出参考书籍,导致初学者以为他就是最正确的。*
    4、他的书适合有一定水平的人看,初学者看不懂!
    3、现在回过头去看那本老谭C,发现都是为有一定基础的人准备的。
    #lishiyong110 发表于2007-12-19 17:06:02  IP: 58.49.250.*
    谭先生的书我就没怎么读过 我觉得他写的东西很多是从知识的堆积出发的 联系实际操作的不足 他那本很是有名的c我感觉就是 不过还是有很多人觉得这本书很好 可能他们比较适合这本书而已

    #s1p2go 发表于2008-04-07 16:27:16  IP: 58.19.92.*
    我靠,你们都读过老潭的书么?
    不会都像我楼上的那位没怎么读过直接凭感觉发表宏论吧。
    老潭的C和C++我都看过,做为入门刚合适。
    国内很少有专家把入门书籍写的如此通俗易懂的。



    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 刘未鹏