回应armstrongest
原贴见
http://expert.csdn.net/Expert/topic/1306/1306642.xml?temp=.936413
armstrongest:你好!
在书价的问题上,我们是两个极端。在这一点上我们不太可能取得一致了。但是这并不表明我们不能坐在一起,在其他的问题上取得共识。有道是君子合而不同。
我认为,你提出的问题很尖锐也很现实,就是CSDN的浮躁现象。其实从作为论坛出现的那一天起,CSDN就注定了要承受“劣币逐良”的代价。很显然,所谓的“高手”,大概不是那种很有空的人;整天泡在论坛上玩提问回答游戏的,大多是那种很有空的人(没错,我也很有空,因为我在读书),而很有空的人,多数还没有成为高手。当然作为低手没有什么可耻的,但是低手中最后能成为高手的又有多少?反正开口说话就有分好赚,那我不如整天在这里赚分,看着自己的三角一个一个的往上涨,比枯坐在那里编程除错有成就感多了。间或从A那里听来B说的一鳞半爪的新鲜话,再到C那里去卖弄一下。如果C是个比我还低的低手,那我又骗取了一个人的崇拜;如果不巧C是个比我高的低手或者C已经是高手了,也没关系,我大可以拿比尔盖、BS、自己写个操作系统编译器这样的大帽子来压他一下,杀杀他的威风。因为不负责任的说风凉话的成本要比负责任的解答问题的成本低得多,自然众人都会选择谈谈风月而不是探讨技术问题——话说回来,一帮菜鸟在一起,又有多少“技术问题”可讨论呢?
因此,我觉得首先应当反省的,不是别人,正是我们自己。为什么在论坛这么一个环境宽松、沟通便捷的地方,反而失去了求知的欲望。也许是我们骨子里就缺乏民主的素质,或者仅仅是因为我们对技术的所谓“热爱”,不过是叶公好龙的一种时髦感而已。
话说回来,对侯捷先生的批评,我不以为然。我觉得您更像是先对侯捷印象不佳,然后再给他罗织罪状。比如您所言“但是现在业界最需要的是什么???J2EE,ORACLE,TCP/IP,嵌入,ASP+SQL.SEVER .NET。”我觉得就欠实证,至于“他的书,能满足技术狂人,或者糊弄初学者,但对于正在从事开发工作的没有用处。”,我揣测您大概需要在“正在从事开发工作的”后面加上一个“我”字。我不知道您所谓的业界范围在哪里?就我所接触的CAD界(如果把编程序的都算作业界的话)而言,绝大多数公司(我不敢说100%或者90%这么绝对)都是在用C++,这其中大部分都是在Windows平台下,这其中的大部分都会用到MFC。而一个不会用STL的C++程序员,我们能说他是合格的吗?(虽然从这个意义上,其实目前相当多的C++程序员都不合格)图形程序开发的程序员,相当多的还在使用C语言,因为他们需要的是效率。也许计算机图形学在整个业界算是一个偏门,但绝对不是冷门或者独门。这些人对您所说的“业界最需要的”技术,毫无兴趣。要知道,计算机本身就是一种工具,它和哪个传统行业结合,就会产生哪种需求。您所说的,大体就是企业应用和网络应用的范畴,但是这两者远远不是软件业的全部,不,还差得远!尤其是放眼当前,在主流的编程语言中只有C和C++这两种是不依赖平台、不依赖实现、不依赖任何商业组织,并且拥有国际标准的、纯粹意义上的通用语言。您可以说MFC不重要,但您能说STL也不重要吗?
关于您的几点对反对意见的“预回应”,我也作一个简单的回应。大家是讨论问题,都是对事不对人的。
1.《深入浅出MFC》的问题,容我们搁置。对一本书的看法从来都是见仁见智。但我需要强调的是:一,这本书成书于多年以前。这么多年过去,随着技术积累的加深,今天我们看这本书也许没有当初“惊艳”的感觉,但这不能抹杀它当年的绝代风华。MFC现在大家也都承认是一个比较差劲的架构,但是它毕竟经受了时间的考验。评价历史人物,如果脱离了历史会怎样,“岳飞风波”给我们以启示;二,侯捷的书,最大的作用是(部分的)消弥了中西方间的信息不对称。说实话,如果你有时间和金钱看《Programming Windows with MFC》和《MFC Internals》这两本书,你完全可以不看《深入浅出MFC》;如果你有时间和精力去自己钻研MFC的源码,你也可以不看这本书。但是大多数人没有足够的时间、精力、能力和金钱从这些来源获取知识,侯捷的书至少为这些人作了很好的导引。《深入浅出MFC》的价值,不在于告诉你什么独家秘密,而在于为你节省了时间。如果你的时间值钱的话,你对书的价值会有自己的评价。
2.术语的问题,同样是一个习惯问题。我也不习惯“提领”和“引数”;但我特别喜欢“实作”(这倒不是术语了)和“型别”。其实中文术语就是一个记号,说“型别”和“类型”,意思都是“Type”。我觉得,如果你知道“Type”背后的意义是什么,你自然就不会介意“型别”还是“类型”;如果你不理解Type的含义,那么“类型”也绝不比“型别”更容易让你望文生义。说“侯捷在和我们过不去”,一个负责的作者,凭什么要和他的读者过不去呢?
3.关于业界需要什么的问题,和侯捷先生倡导什么的问题,完全是风马牛不相及。作为一个C++技术作家,侯捷先生还是要写C++的书。他只是告诉读者,“如果你要用C++,你应该知道这些……”,并没有提倡大家都来学C++的意思。退一万步讲,即使现在C++日暮途穷,J2EE一统江湖,侯先生也没有义务告诉读者:不要学C++,学J2EE比较有前途。至于为什么这么多人都追着侯捷的大名去学C++,责任不在侯先生,而在我们自身,这十几年来本土的计算机书籍表现太差。如果一个食堂里所有大师傅做菜都很难吃,只有一个做的菜好吃,时间久了自然所有人都会去要这个大师傅做的菜。这时候不催促和鼓励其他的大师傅迎头赶上,反而指责做菜好吃的那个大师傅误导食客,这不是咄咄怪事了吗?
3(2).这一点,有位朋友打了个比喻我觉得有道理:侯捷和李维,前者重深度,后者重广度。他们之间的差别,好比理科与工科的差别。术业有专攻而已。业界打拼的人往往看不起研究机构的人,认为他们纸上谈兵;而研究机构的人同样也会看不起业界的人,认为他们胼手胝足,层次不高。事实是二者相依并存,没有一个孰轻孰重的关系。作为初入业界的新鲜人,自然希望学到的是那种立竿见影的“真”本事;但是三五年,十年之后各人造诣的不同,又是那些当初看似无用的“深”功夫在起作用。不过如今的IT界,立志编三年五年程序的人不多了,十年不渝的更是稀有动物,大家似乎都在想着如何尽快捞一笔就跑。以此观之,如果再说些什么“九仞之台,起于垒土”之类的话,恐怕是陈义过高,无人喝彩了。
4.我同意。不过每个人的需要是不同的,所以最好是说“我最喜欢的(主观评价)”而不要说“最好的(客观判断)”。
5.关于看原版,我的看法与您大致相同。因此我觉得,在校学生是最应该看原版的。时间充裕是最大的资本,打基础也应该从这个时候抓起。如果在学校养成看原版的习惯,今后进入业界也应该有足够的能力直接从英文中获取第一手资料。
6.有用没有用的问题,没有一个统一的标准。比如说,任何Kylix的书对我都是没有用的,但我认为最有用的《CG:P&P》对大多数不搞图形学的人来说,同样是完全没有用。所以这样的评价,我看不出任何建设性。
7.我同意不要人身攻击的提议。同时也提醒您,您在论坛上的有些言辞,对侯先生事实也有人身攻击的意味在里面。我们其实很难单纯的就书论书,总要不自觉的把对内容的讨论引到这个人身上去。这几乎已经成了这个民族的一种集体无意识了。在这样的气氛下,最好的评价也许就是:不评价。
8.关于炒作,我还要再说一遍。“炒作”其实是现代商业社会的一种普遍现象,对它的怀疑更像是一种不适应。就像刚刚改革开放的时候一样,电视台一放广告我们就换台。但在今天的中国,拒绝炒作实际上反映了一种更大的背景:对社会公信力的怀疑。“没有什么是值得相信的。”在怀疑主义和偶像的黄昏中长大的一代年轻人现在把持着各个论坛的话语霸权。然而他们缺乏足够的能力做到“言之有物”,导致了几乎每个论坛上都充斥着一种简单粗暴的气氛,心平气和的理性讨论几乎无法进行下去。我们一方面看到这种现象在吞噬着已经千疮百孔的网络道德,一方面在排拒这种现象的同时,自己也在有意无意的助长甚至推高这种非理性的气焰。如何至此?情何以堪!
最后要说的是,“侯捷现象”,真有那么严重吗?前些日子我去书店买《人月神话》,没有遇到一位知道人月是一本计算机书的店员。就算我们在这里吵得热火朝天,社会对此的反应也只是死水微澜而已。其实一个技术作家,即使到Charles Petzold这种地步,对大众的影响力也是非常有限的。侯先生是一位踏实的、为着自己的理想从不放弃追求、令人肃然起敬的专业人士。相形之下,我们这里的大部分人是那么的浮躁、怯懦和摇摆不定。armstrongest,请你谅解,我并不是在指责你。你至少还在思考,至少还敢把思考的结果拿给冷漠的大众来评价。我甚至能听到你按下“提交”按钮时的那一声叹息。如果有机会,我希望能和你一起坐坐,当然不是在个人声嘈杂的网际。