无意中看到霍炬同学的一篇文章捎带着提到了C++的书:
最近我的msn签名是:如果lippman不写《essential C++》,那么市面上就充斥着《21天精通XXX》。
lippman 是c++委员会成员,c++的创造者之一。但是他仍然愿意为初学者写一本入门书《essential C++》。你去书店,可以看到大量的《21天精通C++》,但是别说21天,用这种书,21年你也学不会C++。如果lippman这种大牛不出手,那么初学者看什么呢?
以前也经常看到类似的动不动把“21天精通”等系列书骂一顿,然后捧一下自己心目中的好书的。影响最大的大概是Google研发老大norvig的那篇名文“Teach Yourself Programming in Ten Years”了(中文版在这里,才发现是我们的译者郭晓刚之作)。其中说:
走进任何一家书店,你会看见《Teach Yourself Java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic、windows、Internet等等,而只需要几天甚至几小时。我在Amazon.com上进行了搜索……
我一共得到了248个搜索结果。前面的78个是计算机书籍(第79个是《Learn Bengali in 30 days》,30天学会孟加拉语)。我把关键词“days”换成“hours”,得到了非常相似的结果:这次有253本书,头77本是计算机书籍,第78本是《Teach Yourself Grammar and Style in 24 Hours》(24小时学会文法和文体)。头200本书中,有96%是计算机书籍。
结论是,要么是人们非常急于学会计算机,要么就是不知道为什么计算机惊人地简单,比任何东西都容易学会。没有一本书是要在几天里教会人们欣赏贝多芬或者量子物理学,甚至怎样给狗打扮。
norvig的这篇文章很深刻,建议所有编程的同学都去拜读,并思考。
不过,从专业出版的角度,我必须进行澄清。显然,norvig的学会,和这些入门书所说的学会,含义不同。以下围棋而言,
知道规则,怎么算死活,乃至学会一些布局、定式、中盘、官子,其实都可以很快学会。但是你要想入段,那就难了。而且,书名那么写,只是为了广告效应,抓眼球罢了,纯粹商业考虑,何必那么当真?实质上,这些书只不过是把内容组织成21章(21 days)、24章(24 Hours)而已,有些书篇幅是不小的。你总不能说,编程入门书都不好,全部一棍子打死吧。当然,只靠入门书,想成为专业程序员,那是远远不够的。
直接纠正一下霍炬同学的错误。这里所说的《21天精通C++》(实际上中文名是《21天学通C++》,先声明,是邮电社,但不是图灵出的)的英文版是Teach Yourself C++ in 21 days,其实是一本不错的C++入门书。看看Amazon的评价就知道了。已经出到了第5版,比C++ Primer还多一版呢,也说明了销售不错,出版社有积极性不断催着作者更新。
这本书的作者一个是Jesse liberty,是个多产作家,善于写入门书。为O'Reilly写的Programming C#/Programming ASP.NET相信大家会有印象吧,前者虽然不是最好的C#书(最好的书当然是我们的),但也能排在前几位的,在Amazon上有200多条评论,在计算机书里并不多见。只是新版 改得很匆忙,被骂死了。他的技术水平应该无可争议,现在是微软Silverlight的Senior Program Manager。最夸张的是,他居然在Wikipedia上有条目(难道因为他公开承认是双性恋,而且积极为同性恋争取权利?……)。另外一个作者是Brad Jones,微软MVP,也写过不少书。
我个人感觉,这本书比lippman的那本要更容易入门一些(Accelerated C++也不错,Stroustrup推荐的,还有那本也比较厚的C++ Primer Plus也很受好评)。事实上,市场验证的结果,无论国内外,也是liberty的书卖得更好,而且长销。Essential好像已经早已退出市场了。
某种意义上,入门书很重要,如果导向错了,会害了很多人。我们大多数人都学过的C语言书,不就赫然满篇都是标准明令禁止的voID main吗?(细节参见这里。)而且,入门书也不容易写。C FAQs一书(我们即将出版中文版《你必须知道的495个C语言问题》)中说过,编程书大多是专家写的,但是这些专家都是从自己的角度来讲的,他会略去很多对初学者而言非常必要的细节,使读者一头雾水,满脑门官司。只有少数好的入门书才是真正适合初学者的。(大意如此。)
说实话,Sams的这一套入门书乃至国外的所有套系入门书,包括for DummIEs(傻瓜书),Visual Quickstart GuIDe(我们出了其中的HTML、PHP,也深受好评)等等系列,虽然难免有些参差不齐,但是总体质量都不差,看看Amazon的评价就知道了。至少都有通俗生动、技术准确、来自实战、符合初学者心理、导向正确等等优点,比国内一般入门书好得多。
必须承认,国外图书的平均水平比我们要整整高一个档次,虽然没有书价差距那么大。他们无论作者还是出版社,基本上还是认真干事情的,也比较爱惜羽毛,珍视自己的声誉,有长远打算。相对应地,他们的书的品种也远远没有我们的多。我们呢,有公然盗用人家著名品牌、鸠占鹊巢的出版社,有以开源名义张罗一大堆人来翻译最后自己独具署名的译者,有抄袭成性的名牌大学老师……
最明显的差距,是我们基本上没有什么原创的系列能够像人家那样长久地保持生命力,差不多是没多久牌子就砸了,又得刷一番新油漆,立一排新招牌。很有些像西西弗斯的味道……。我们的许多一大套一大套的入门书,网上书店的评论要么骂声一片,要么门可罗雀,要么是一堆书托在晃悠……。但是您也别替他们着急,也真有不少不懂行的读者(初学者嘛,连上网上看看评论这一招都不会)买,有的还卖得很好——几十本书可以在书店里铺天盖地地占满你的视野,何况据说还有专门的促销员像卖洗衣机一样使劲蒙读者……。与此同时,除了计划经济下的一些残留之外,我们也很少有第3版、第5版、第7版,十次、几十次印刷……
鲁迅同学多年前说过的话:我以为要少——或者竟不看中国书,多看外国书,虽然语境完全不同,但还是有警醒棒喝的作用。
胡思乱想……不知不觉就跑题了。言归正传,这些入门书的历史口碑之所以不佳,主要可能是因为名字太耸动了。(但这家公司 还有一个更耸动的系列叫Teach Yourself in 10 minutes。里面的sql一书即我们图灵出的《SQL必知必会》可是一本绝妙好书呢(数据库和sql入门第一推荐,),此外还有这本书的姊妹篇《MySQL必知必会》。还有《正则表达式必知必会》也很好。)另外,还有两方面原因:一 方面可能和被norvig等等高手骂了有关系(他其实估计也不了解初学者的需要吧),一方面可能是中文版翻译不够好(其实入门书的翻译难度一点也不比中高级书低,对象基础差,你要说得更明白啊)所致。
当然,最好的C++书还是我们的《C++ Primer中文版》,入门和参考都好。这个应该无需争议了。
【2008年12月26日更新】刚才发现:电子工业出版社(博文公司)又推出了一套名字与当年邮电翻译版完全一样的21天学通系列。因为没有看过这套原创图书,在此郑重声明,这套书不在我的推荐系列。——山寨,就这么有诱惑力吗? 总结以上是内存溢出为你收集整理的纠正一个常见的误解,“21天学系列”其实是好书全部内容,希望文章能够帮你解决纠正一个常见的误解,“21天学系列”其实是好书所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)