现在的位置: 首页 > 综合 > 正文

Programming C# 4th. Edition 中文/英文版对照阅读体验

2013年04月27日 ⁄ 综合 ⁄ 共 3629字 ⁄ 字号 评论关闭

 Programming C# 4th Edition 中文版/英文版 对照阅读体验

    大概是耐心所至的缘故,我那几篇冠以“深入浅出C#”的文章在网络里被广泛转载——这当然是好事!有更多的朋友通过我的介绍认识并喜欢上了C#这门可爱的语言。广泛转载的Side Effect就是我的邮箱时常被网友们热情的来信所填满(现在没人写信了,不然我还可以用“读者来信如雪片般纷至沓来”这类我上小学时的作文常用词汇自吹自擂一下),大多数来信的内容都差不多——是初学者向在下询问如何系统而又有效地学习C#语言程序设计。特别是在书籍阅读方面,一定要我推荐出一些书来才算心满意足。另外,最近有一些友人开办的培训机构邀请我去讲些C#开发基础课程并参与.NET开发的课程设置改革,也询问到我选用什么教材进行教学、让学员们能够快速、正确地踏入Microsoft .NET Framework开发领域这一问题。二事并一事,其实核心问题都集中在一点上,那就是“C#语言的初学者应该读什么书”。

        在我看来,推荐读书是一件非常困难的事情。第一,每个人的理解能力和阅读风格都不一样,正所谓“众口难调”。同一本书A同学读了说好,B同学可能就感觉一般般,搞不好到了C同学眼里就成了垃圾(阿猛怎敢冒“推荐垃圾”之恶名耶?);第二,正如人无完人一样,书也没有完美无缺的,不是有“尽信书不如无书”的古训吗……可是作为初学者(特别是没有任何编程经验的初学者),尚无对一门知识的辨别能力,怎么可能知道哪里是正确的、哪里有不足呢?结果往往是书的思想没抓住、精髓没领会、重点被忽略、被书中败笔带来的疑惑搞得彻夜难眠、书中的错误也就此埋下祸根(此君不骂阿猛“误人子弟”才叫见鬼)。如此一来,推荐好书本来是一件功德无量的好事,结果却扛回一块“推荐垃圾、误人子弟”匾额,实在是划不来。

        那么,到底怎样的书才能算得上是一本优秀的入门书籍呢?以在下几年来的教学和开发经验来说,它应该具有这样几个特点:

·         全面性:有人认为入门教材就是给被学者看的,反正初学者什么也不懂,那些高深的内容就不必提了。此言谬矣!一本入门书,最重要的一点就是让初学者对一门学科有全面的了解,知道自己学的是什么,学了之后能用它做什么——最简单能做什么、最高深又能做什么。不然的话,只可能越学越迷茫。

·         正确性:这点自不必多言,一本高阶书中有错误,至多书被人一把火烧掉了事;一本入门书中有错误,很可能就把一个人才付之一炬了。

·         权威性:权威性意味着可信度。光给出一个正确的结果不算难事,还要有权威的诠释才算完整、才能展示一个人的“功力”。“苹果为什么会从树上掉下来?”牛顿告诉我是因为万有引力,我侄女告诉我说是因为它不想在树上呆着了,呵呵。另外,技术也是有雅俗之分的,权威的发言往往是很雅致的——那是有深度的象征。

·         有深度:优秀的入门书不是“平”的,它会把该深的地方讲深,读者暂时理解不了的地方点到为止(全面性决定了它不可能只字不提)。一本优秀的入门书读下来,给人的感觉应该是在缓和的低山小丘间漫步,而不是在广场上溜达。有句话说的很好:你把学生当什么来教,那教出来的就是什么。推广一下,你把读者当傻子、写的内容一点儿深度也没有,那到最后读者对这门功课的理解就会像傻子一样——书和作者的价值也就不言而喻了吧。

·         有脉络:这是一本入门书的精髓之所在。一门知识摆在一个好学者面前,时间有限,精力有限——从哪个角度介入这门知识最妥当?沿什么样的路径学习最合乎逻辑?知识怎样组合才能让学习者坚持到最后?对高级内容应该怎样留有接口以方便后续的学习?怎样与实践结合最能激发读者的兴趣?……要考虑的东西太多了,但绝不能不考虑,不考虑这些的书是一本没有灵魂的书,最后的结果是让初学者学完之后云里雾里、糊里糊涂。

·         可读性:如果没有这一点,以上诸点恐怕都要作废了。要达到可读性强,往往不是作者一个人就能做到的。一本好书,不但有作者的智慧凝结在里面,还凝聚着编辑们的辛劳(很多书比较有意思,编辑的功力比作者本人还牛!),如果这本书是译文版,那还凝聚了翻译、校审、译文编辑们的辛劳——译文不准确、新文字排版不科学,一样会影响可读性。所以,选入门书的时候不妨看看作者、译者、编辑、出版社都是哪些。(补充一点:是不是书里的例子越多越好呢?那可不一定。代码实例是要看质量的,应该力求恰到好处,过多则有用花括号骗稿费的嫌疑;过少又会给人纸上谈兵的感觉。)

        现在是笔者喝茶时间,10分钟后继续……

        上面说了这么多,那么究竟哪些书作为C#程序开发的入门书籍比较好呢?

        考虑到权威性的问题,我们把选择的目光放在Amazon的打榜书上,因为这些书可以说是经得起世界级考验的书。在这些书中,本人喜欢的出版社有四个,分别是Microsoft PressApressO’ReillyWroxWrox的发展历史可谓是一波三折,感兴趣的朋友可以看看这篇文章http://blog.csdn.net/aaahts/archive/2004/08/18/77757.aspx)。有意思的是,虽然这四家出版社出版的书各成体系,但给书起名字的时候也会有“撞车”的时候。还有时候,英语版的名字并不撞车,但到了中文译名却撞上了(特别是“XXXX技术内幕”,混乱得很~~~),所以大家在买书的时候一定要问清是哪个出版社的(源社、译社)和作者译者。

        下面说说这几家公司出版图书的特点:

·         Microsoft Press.NET技术的老家啦~~~权威性是最高的。但个人感觉文笔一般,出的书吗,深的太深、浅的太浅(看MSDN就行)。不过也难怪,人家微软是卖软件的,不是卖书的,呵呵。对于MS社的书,高深度的书我是极力推荐的,入门书吗,如果你打算在巴士上恶补点什么的话,可以阅读它的Step By Step系列,带图解的,不坐在电脑前也能学习。

·         Apress:我的最爱,书的质量很高、很细致。Apress一般不出大而全的书,每本书的目的性都很强。比如,针对C#,它并没有推出一本全面描述C#的书,而是把C#ASP.NETSQL Server、电子商务、面向对象、自动化测试工具开发等专题结合起来,一样出一本。如果一门知识层次拉的比较开的话,它会出一本Beginning XXXX和一个Pro XXXXApress的书很好认——黑底黄条,一目了然。可惜的是,Apress的书,中译本比较少,可能是进入中国的时间还短吧。Apress的书,国内出版社中博文视点出版社译的是最多的、投入人力物力也是最大的。去年我买的那本《Beginning C# Objects——概念到代码》,读了一年,依然爱不释手。每当读博文视点出的书时,我都会想起韩磊老师在年会上说的那句话——出书就要一本是一本。看来,在这一点上,ApressBroadView两家公司倒是蛮相似的。

·         O’Reilly:IT出版业老牌劲旅。权威到一塌糊涂——不光出微软系列的书,Java系列、开源系列等等,样样拿得起放得下。O’Reilly出的书,系列也是最全的:

o   XXXX In Nutshell:一门知识(往往是新知识)的概览。

o   Learning XXXX: 一门知识的专项入门书籍。

o   Programming XXXX:一门知识的全面入门书籍,一般比Learning系列要深、要广,书也会厚不少。

o   XXXX Cookbook 有些人不喜欢看文字的东西,喜欢通过读代码学习知识(特别是那些有经验的编程老手们,更懂得从代码中见微知著),OK,这个系列的书就是为他们准备的。

o   XXXX Definitive Guide:权威指南系列。这套书更像是词典,用到什么知识的时候可以到里面按条目来查。

·         Wrox:就是我们说的大红皮系列拉。我的VB.NETC#入门都是用的这套书——那是0203年的事儿了,那时家乡的书店里只有大红皮这一套书。大红皮系列也是进入中国最早的.NET系列图书,因此培养了巨大的读者数量。Wrox的书一般分两个层次,Beginning XXXXProfessional XXXX,中译本分别为《XXXX入门经典》和《XXXX高级编程》。

从上述众多系列中,我们可以选出两个系列,作为大家的C#学习教材。

·         O’ReillyProgramming C#àC# CookbookàProgramming ASP.NETàASP.NET Cookbook

·         WroxBeginning Visual C# 2005àProfessional Visual C# 2005àBeginning ASP.NETàProfessional ASP.NET

抱歉!评论已关闭.