您手上是C#最值得尊敬、最权威的参考书之一,作者为此付出了非凡努力!Mark Michaelis的《C#本质论》系列多年来一直是畅销经典。而我刚认识Mark的时候,这本书还处于萌芽阶段。
购买链接:京东>> 淘宝>> 台湾博客来>>
配套资源和试读PDF第1-9章下载: ys168网盘>> 百度网盘>> 本地下载(仅试读)
GitHub项目:https://github.com/transbot
自2007年《C# 2.0本质论》面世以来,我便与这本书以及作者马克·米凯利斯(Mark Michaelis)结下了不解之缘。除去未参与《C# 6.0本质论》和《C# 8.0本质论》的翻译,其余译本均出自我的笔下。
马克是位不折不扣的实干家。作为铁人三项运动员和技术领域的佼佼者,他深入探究事物本质的能力令人敬佩。对于任何问题,他都能深究其表面之下的本质。任何问题他都能做到不仅知其然,还知所以然。这种深度思考体现在本书中,诸多知识点被巧妙且紧密地联系起来。最开始不明白的问题,一气呵成读下去会有恍然大悟的感觉。正如微软首席架构师Mads Torgersen在本书的推荐序中所言,“一样东西通过了Mark的测试,就没什么好担心的了!”
马克的《C#本质论》系列版本,总让我想起罗素。作为哲学家、数学家和逻辑学家,罗素的行文向来字字珠玑,具有较强的感染力,很容易引起读者的共鸣,给读者带来许多启发。在《罗素回忆录:来自记忆力的肖像》中,他介绍了自己是如何写作的:“我希望能够用最少的词把每件事情说得一清二楚。我肯花时间设法找出最简洁的方式把某些事情毫不含糊地表达出来,为此,我往往不惜牺牲追求美学上优点的一切企图。”在他21岁之前,罗素希望自己的写作风格够接近于约翰·米尔的风格,因为后者有值得自己效仿的句型结构和主题拓展方式。经过种种尝试,罗素终于醒悟,意识到对华丽词藻和张扬写作风格的模仿会诱发一定程度的虚伪性,认识到所有模仿都是危险的,由此,他总结出三大简单的写作准则:其一,如果可以使用一个简单的词,就永远不要使用一个复杂的词;其二,如果想要做一个包含大量必要条件在内的说明,那么尽量把这些必要条件放在不同的句子里分别说清楚;其三,不要让句子的开头引导读者得出一个与结尾有抵触的结论。
由此联想到马克的这本书,优秀的专业技术类图书,其表述方式和措辞首先考虑的是以读者为本,而不是满篇都是只有少数博学之士才能看懂的行话或术语。在这次翻译《C# 12.0本质论》的过程中,我有颇多这样的感受。真正的技术大师,并不会一味地追求形式化、科学化和精致化而导致专业知识远离大部分读者,直到竖起不可逾越的篱笆。真正优秀的作者,是像马克这样的,他们拒绝向读者介绍未经过自己检验的东西,他们拒绝伪装,从来不会故意用高深莫测且让大家云里雾里的话术来凸显自己的专家身份。
在我看来,《C# 12.0本质论》实际上完成了一项非常困难的任务。前面几章的内容很易于被刚入门的开发者理解。而在后期的章节中,作者毫不藏私,将自己二十多年来对C#语言的理解倾囊以授,为有经验的开发人员提供了挖掘C#潜能所需要的技术细节。马克是组织内容的高手。从第1章起,他就成功赢得了许多读者(甚至是高手)的信任。与此同时,全书的内容还做到了通俗易懂且没有半句废话的程度。
这一版是历史上改动最大的一版。针对C# 12.0的新特性,内容编排有了很大变化。感谢框架和语言的进步,以前实现比较起来繁琐的代码,现在变得更简洁了。当然结果就是,全书几乎所有代码和相关内容都要重新设计。作为译者,加上错过了上一版,所以面对的基本是一本全新的书。
下面简单总结了中文版的一些特色:
- 思维导图中的编号对应二级小节编号
- 在“语言对比”中删除了涉及Visual Basic的几乎所有内容
- 中文版本地化了所有代码,包括注释和UI
- 近150条“译注”
- 对原书(纸质版)进行了大量勘误,并反馈回作者(100条以上),译者主页也提供了英文版勘误PDF
说到本书源代码,不得不说这一版的呈现方式是最完美的。本书在GitHub上有专门的项目(https://github.com/IntelliTect/EssentialCSharp),读者可以随时下载最新代码并在Visual Studio 2022中打开。中文版读者则可以访问译者主页(https://bookzhou.com)或GitHub项目(https://github.com/transbot/EssentialCSharp),获取配套的中文版资源。所有代码的注释和UI均已中文本地化。如果访问GitHub有困难,可以直接从译者主页下载。另外,务必查看源代码中的README.md文件了解用法。
当涉及到C#编程,不得不提一下这个领域的“三剑客”,我亲自翻译了它们。首先,《深入CLR》第4版(原《CLR via C#》),为你提供了一个高瞻远瞩的视角,深入解析了运行时和框架——C#语言的根基。语言的每一项设计都是基于这个核心架构构建的。其次,本书《C# 12.0本质论》,它如同一个全面且深入的语言百科全书,覆盖了C#语言的方方面面。最后,《Visual C#从入门到精通》第10版虽然同样涵盖了语言的基础知识,但更多地是从GUI编程的角度帮助你理解C#编程。注意,这三本书均通过了Visual Studio 2022的测试。
感谢作者马克• 米凯利斯(Mark Michaelis),他是一位非常有激情和活力的技术专家。翻译过程中,他热情、耐心地解释我所提出的问题,并虚心、坦诚地采纳了我提出的修改意见。还要感谢我的家人,尤其是女儿周子衿(Ava Zhou),她总能从一些新奇的角度来帮我重新认识这个世界。
衷心希望每一位读者都能通过这本书,踏上一段愉快而激动人心的C#之旅! ——周靖,2024
中文版勘误:
1. 42页,代码清单2.9演示了如果没有使用round-trip格式,那么两个数就不相等了。但现在round-trip格式已经发生了改变,导致即使不使用round-trip格式,两个数也相等。这个改变来自开发团队的以下pull request:Update the double/float formatters to return the shortest roundtrippable string。网址是https://github.com/dotnet/coreclr/pull/22040。因此,这个例子暂时可以忽略。
2. 479页,代码清单13.15,删除代码行while (!string.IsNullOrWhiteSpace(input));
中的!
符号,否则程序只接受空白字符的输入(原书勘误)。GitHub代码已更新。
英文版:Essential C# 12.0 ISBN:9780138219512
中文版:C#12.0本质论 ISBN:9787302668046
Comments on “《C#12.0本质论》”