[技术贴]好书与烂书

今天在豆瓣上看到有人评论一本希望出版社出的书翻译极差。我随手回了几句极其不厚道的话,现在也懒得回头去找,就不留链接了。

后来跟令狐在MSN就书的问题聊了几句。希望出烂书的历史不是一年两年了,十年前我就在看它出的烂书了,没办法,国内作者的技术书完全没法看的,国外的优秀书以当时国内的“正经”出版社那个外行眼光又看不到,无奈只能忍受希望出版社的语言折磨。

虽然看到的都是被希望的翻译们“谋杀”过的国外好书的“残骸”,但至少比没有强。

令狐说:幸好后来有侯捷等人把真正经典的好书(主要是C++方面)引进来,加上后来GIGIX等人对JAVA的好书的推介,并且有了博文视点这样真正专业的出版商,才造就了现在成熟的技术书市场

上次DFW出书时,有人提到老谭的书,其实我对他的书完全没有好感。

原来令狐也是:

不过想想以前谭浩强一本C程序设计居然可以雄霸书坛十多年,可想而知当初的书有多缺乏了。希望这样让我们看看烂书,到底比没书还是要好那么一点点
说起老谭的那本“经典”,也是害了不少人啊。倒不是说他的书有多差,而是他凭借这么一本书让一代又一代的人思想僵化在十多年前,而且至今余威尚存。
他的书影响到了很多其他的C语言书的作者的。
要不是jjhou引进了一些国外经典,恐怕至今我的水平也就是C程序设计上的那些。

还好我学几门语言都不是看老谭的书。

令狐举例说:今天N多的人认为指针很可怕,大概也是拜老谭所赐,呵呵。他的书里确实把指针讲的很可怕

事实上我就看过老谭自己在一本教科书上把指针用错。当时是因为别人看那本书时,对此有疑问,来问我时才发现的。

令狐说:不过应该是有可能的。我感觉他之所以把指针讲这么恐怖,应该是他自己也没有彻底的理解。否则他完全可以讲的很清楚,干吗这么故弄玄虚

其实批评老谭的事,我很早就在论坛上看过,不过以前都不掺和。今天也是因为希望的事扯起来,就随便评论几句。这个话题也是有一些风险的:老谭的语言教科书发行量可是居世界之最的,国内的程序员十个有八个是看他的书入门的,以前在论坛上看到这方面的论战,批评的一方通常会被老谭的学生们用口水淹死。

其实这不是老谭的错,谁让我们在那时只有这一个选择呢。如果那时K&R的C语言书和B.S的C++语言书像现在这么容易看到情况自然不同。

24 Replies to “[技术贴]好书与烂书”

  1. 猛禽把我这么不厚道的话都贴出来了,恐怕我要被口水淹死 ^o^K&R的C语言书我有幸在高中的图书馆看到过,当时给我的震动确实很大,感觉很多以前不明白的东西都被解释清楚了。不过可惜的是当时的兴趣尚在Turbo Pascal上,对C语言并不十分在意,结果直到今天我在C语言方面仍然是个半吊子 -_-||现在我那些可怜的C语言知识都是从C++的教程里一星半点的获得的。再想看K&R的书已经没机会了,可惜啊。

  2. 其实还有一个观点猛禽没提到,就是当时的希望在选书方面还是很有眼光的,它缺乏的是态度,而更多的出版社连眼光都还没有。现在不同了,很多出版社都有了敏锐的眼光,可是其中的一些仍然缺乏态度。眼光可以靠引导和训练,态度只能靠自身的努力。还是希望以后好书越来越多,烂书越来越少。

  3. 还好我看的第一本C语言书是在大一时研究一个分形时在图书馆借的,老谭的基本上没看。真是幸哉~

  4. 呵呵,想我当年在学校里学C就是用的K&R,是原版的,还是学校发的上课用书,以至于我的同学们一致狂骂,然后去买谭浩强的书来看,只有我一个人在那里埋头苦读,hoho,好处就在于,至今我还是班里C/C++最强的。其实说到教材,还应该说一本,就是钱能的那本“红宝书”,叫《C++程序设计语言》吧,一开始这本书我是很推崇的,因为他比谭浩强讲的透彻,可惜,后来阅读了一些国外的名著,才知道这本书也有其不好的地方,就是虽然名为C++读物,思想却仍然在C的程度,虽然对语法讲解的很透彻,却偏偏把C++中的思想给丢了,只能变成编码高手,却成不了设计好手。

  5. 指针灵活但容易出错,也是业界公认的事情了,跟谭老头没什么关系吧,如果谭老头没有指出这一点,才是他的失误.

  6. 关于指针,我倒是看老谭的阐述产生兴趣学会指针的,这可不能说老谭总是在吓人,指针这东西,确实是要有一定认识才能用的。在稍微复杂点的内存操作上,指针加减,指针的指针,指针指针的指针也是常用的,这部分我认为老谭讲的一点都不过火.有句话是尽信书不如无书,还有句话是读万卷书,不如走万里路,师傅引进门,修行在个人,入门之后走什么方向,那不是书的事情,是个人职业道路,技术发展规划的事情.不是很多人学完C语言入门,然后就转java/C++/Delphi….去了嘛.技术讨论,还是厚道一点的好.

  7. 有些书,比如你们评希望那本,确实翻译的够烂,很多书就是随便找几个毛都没长全的学生+金山词霸给翻出来的,便宜呀,这就素彻底的不厚道,骗钱了。但老谭这书确实是本入门好书,有技术纰漏很正常,很多老外的书出勘误也是厚厚的,讨论技术就讨论技术好了,上升到意识形态,是不是有点染上专业批评家脾气了呢?

  8. 很多国外的语言教材,比如我看过的C++ Primer或C++大学教程之类,也没有过多的介绍所谓的“思想”。而且我个人觉得,一本教材把自己的本职工作:介绍语言本身 做好,也是件非常棒的事情。《C程序设计》最大的毛病在于其内容十几年如一日的保持不变,殊不知在计算机这个领域里,十几年的时间用翻天覆地来形容都不为过。十多年来C语言的种种新变化居然没有丝毫反映到一本“经典教材”中,这才是最大的悲哀。

  9. >C语言基础部分本来10几年来就没什么大变化但是对其中各种特性的态度在变,应用领域也在变,发展趋势也在变。一本入门教材的确不能要求太多,但至少要给学生一些选择,入门以后不是只有一个方向。老谭指出指针的危险性是应该的,但是不能因噎废食,学不会正确运用指针还能算学会C语言么?还是那句话,最大的错误在于“没有选择”,这也算是一种中国特色。

  10. 举两个小例子吧。我看《C程序设计》的时候,386、486机器已经很流行了,用Watcom C编译的32位游戏也有不少。那么,在介绍int字长的时候,你提一下“int可能是32位的”,这不为过吧。可是至少我看的那个版本,坚持int就是16位了,我记得我就郁闷过很长一段时间:为什么int是16位,long是32位,short不是8位而也是16位呢?指针过于灵活而容易导致出错,这话不假。可是真实环境中很少有人拿指针加加减减的算术一样玩吧?其实在工作中,指针最主要有两个操作,加减偏移量得到一个新地址,以及计算两个相关联地址的偏移量。这两个操作在常规情况下说到底也不算太复杂,完全是可以说清楚的。但是老谭偏偏要把指针操作讲得好像洪水猛兽一般,似乎功力稍差就不能使用。而实际上指针操作在C语言里几乎是无所不在,躲都躲不掉(比如字符串操作函数),有必要说这么吓人吗?

  11. 说句实话,一本书是好是坏,其实是很难说的清的。我其实也没认为说老谭的书就差到如何如何,相反以前在各种论坛上某些人对老谭的书吹毛求疵的时候,我还颇不以为然。我对他的书的看法都在上面,似乎也没有什么特别恶毒的印象,无非是两点,第一没有与时俱进,第二对指针过于神秘化。其中指针的问题,我是相对于我后来看的一些C++和C语言的教材而言的,我认为那些教材里的描述更能令人接受。不过vcbear兄认为谭书中的指针讲解得很好,我也不好说什么,我想这就跟有些人欣赏《史记》而有些人欣赏《汉书》一样,没有绝对的对错了。但是vcbear兄后来说的话实在有些令人难以接受,我们似乎从来没说过国外的书一定比国内的好吧,更没说过国外的书就没有bug吧。国外烂书当然也很多,不过跟我们的讨论没有关系,我们没有涉及而已啊。至于说到意识形态的问题,我就觉得更加奇怪了,我看来看去只有对书和出版商的讨论,哪里牵涉到意识形态问题了?“专业批评家”,实不敢当,原样奉还。

  12. 文盲想在专业人士堆里说句话(小心翼翼地,嘿嘿):很多翻译的书没法看,现在很多时候我宁肯啃那难看的英文,也不想看翻译的书。

  13. 指针而言,还是老外比喻得好。电锯威力巨大,伤害也巨大,学会合理操作电锯,带来的是高效。

  14. 其实vcbear兄的话也不为过,不是有一个邱某人,一年翻译一百本书吗?被gigix狂骂,被大家所不齿,这种人还是存在的……

  15. 我个人看过的最离谱的书是一本Python的书,在上海图书馆的时候看到的把所有Python的缩进格式全部取消了不说(谁都知道Python的缩进是语法的一部分,是不可缺少的),其中有一段居然把代码给翻译成了中文,真是彻底无语鸟……可惜的是我忘记它的书名了。

  16. 凡事不能一概而论啦基本上每件事都有阶段性的,老谭的功劳在于在国内C/C++知识缺乏的环境下降低了入门的门槛,师傅领进门,修行在个人吗。基本上很多书都有毛病的,老谭自己的水平也有限。但是大叔也不用这么义愤填膺吗。老谭针对的是当时的初学者,而你现在已经进了门了,当然看不入眼了,再说了那都是很老的书了,当然了现在应该改一改教科书了,那就是教育的问题了。

  17. 狐狸发也来啦。其实我们更主要的是针对出版商和教育部门,不应该只用老谭一个人的书一统天下。其次才是指出老谭的不足之处。还是那句话,有总比没有强,要是没有老谭的书,中国的软件业不知道又要落后多少,这一点是要肯定的。

Leave a Reply

Your email address will not be published. Required fields are marked *