我与英语技术书籍

来源:互联网 发布:arppu知乎 编辑:程序博客网 时间:2024/05/02 12:08

前言(Introduction)

  前些天写了一篇《程序猿也爱学英语(上),有图有真相》,大概介绍了我学英语的一些基本资料以及心得体会,本来接下来该发中篇,但《程序猿也爱学英语(中),有图有真相》实在太长,为了方便读者阅读以及多方面考虑,我把它拆分成了几篇。前面一篇《学习英文之社区,博客及源码》主要讲了社区,博客以及源码,今天这篇我们就来聊一聊英语相关的技术书籍。

  在讲今天的内容之前,我先说一下最近热议的一名印度工程师的感慨文章《孟莎美:令人忧虑,不阅读的中国人》以及China Daily的时评《War of words over Chinese reading habits》,文章和时评的大致意思是中国人现在看书越来越少,这种现状很是堪忧。我想随着网络信息的日趋发达,不阅读或者少阅读是一个全球化的趋势,这并不仅限于中国,决定因素还是在于阅读者本身,而不在于哪个具体的国家。另外网络时代在带来巨大利益的同时,不可否认也会带来不同程度的弊端,正所谓有利就有弊,任何事物都不可能尽善尽美。

今天我们这篇文中主要讲英语技术书籍,所以中文书籍以及其他不是计算机相关的书籍不在此篇论述范畴。关于为什么我喜欢读这些技术书籍,我也有一些自己的浅显心得,这里也先分享出来:

  1. 当你在接触一项新技术的时候,书籍往往能给你最系统,最全面的的知识,这是其他碎片化方式无法比拟的。
  2. 当你在做项目的时候,遇到具体的技术问题,或许你能在这些书籍中找到解决方案,也或许你会得到解决问题的思路。
  3. 当你在做完项目的时候,如果你能回过头来看看相应的书籍,你会得到意想不到的收获。正所谓理论指导实践,实践证明理论,理论总结并升华实践。
  4. 当你心情烦躁的时候,看书能使你保持心静,保持一种积极向上的心态。
  5. 当你认为自己知足或者满足或者有些许骄傲的时候,那么看书能使你保持冷静、避免浮躁,从而取得更大的进步。
  6. 当你在做技术传播与分享的时候,那么书籍往往是你最好的参考素材。
  7. 最后,一个人的精力实在有限,书籍往往能够使我们更高效、更快捷的理解乃至学会我们想要获得的知识。

前面废话了这么多,那么下面我们就具体来聊一聊英语的相关技术书籍,需要强调的是文中的观点只是自己的学习心得和一些体会,属一家之言且鉴于本人学识浅薄,如有不对的地方,也请大家见谅并指正。

二. 本文所涉及的内容(Contents)

  1. 前言(Introduction)
  2. 本文所涉及的内容(Contents)
  3. 英语原文技术书籍(English Books)
  4. 关于电子书(About eBook)
  5. 总结&待续...(Summary & To Be Continued…)

英语原文技术书籍(English Books)

我与英文技术书籍的第一次邂逅

  最早接触英语原文技术书籍是在大学的时候,当时我们学院的一个普林斯顿大学(Princeton University)的博士导师教我们软件工程。在他的推荐与熏陶下,我也开始慢慢接触了基本经典的英语技术书籍,不过遗憾的是当时真的看不懂,原因主要是:

  • 一则是因为英语实在太差,当时来讲,英语对我来讲除了应付高考、四六级之外,几乎都束之高阁,所以很难看懂这些原著也就不足为怪了(英语较差)。
  • 二则是因为里面讲的知识就比较深入,对于趋近于零基础的编程人员,看起来确实比较枯燥(技术较难)。
  • 再则是因为这些书都比较经典且出版已久,所以国内基本有相应的中译书籍。相对这些英文书籍,中文的版本理解起来更容易、更快一些(有中文版)。

image_thumb11image_thumb101image_thumb91image

          (题外话:去年在新加坡面试系统分析师和架构师职位的时候,细节考得最多的还是这些知识,看来基础还是起着比较重要的作用,所以以后还得慢慢补回来!)

直至毕业后的几年里,随着自己英语和技术水平的提高,技术领域的不断深入,发现一下几个问题:

  • 混沌的图书市场:国内的技术书籍虽然众多,但质量参差不齐。虽然不乏优秀的作者和中文作品,但也有的作者或者书籍东拼西凑,或者炒作概念。殊不知人的一生或者职业生涯,可以掌握在一本好书的手里,也可以堕落在一本坏书的身下!
  • 很难与时俱进:中华文明,千古流传,很多领域比起欧美有过之而无不及,但在计算机或者高科技领域,中国的差距不是短短几年能赶得上的。对于新技术,我们往往要等上短则半年、一年,多则几年才能看到相应的且质量较好的中文书籍推出,那么对于不懂英文的技术者来讲,这就无形落后于其他懂英语的技术者。

基于以上两点,自己逐渐地开始活跃于国外的社区及博客,最后也理所当然地慢慢接受了英语原版书籍。

  讲到这里,就不得不提我的.NET情缘,当时大学图书馆里面藏着一些关于NET Framework 1.1以及C#的书籍,自己怀着一种好奇的心态借阅了几本,但过了几天总是原封不动的还了回去,这也算是.NET原文书籍的第一印象。原因和我前面提到的一样——还是因为看不太懂且没有看中文书籍来得那么直接!

Wrox Professional C#系列

  因为我在工作主要在外企,所以最初为了应付外企的英语技术笔试和面试,我看了Professional C# 2005 with .NET 3.0英文版,通过它学到了很多.NET领域专业词汇的英语表达并且也扩宽了自己的知识面。所以接下来几年又追着看了Professional C# 4.0 and .NET 4以及Professional C# 2012 and .NET 4.5。

对于Professional C# 2012 and .NET 4.5,我没有买到原版的书籍,在朋友那里打印了所有的章节,比起书籍来说重量减少了,携带也就比较方便,同时也比电子书看得要舒服很多。

另外,Effective C#: 50 Specific Ways to Improve Your C#也相当不错,不过只粗略浏览了一遍,有机会一定再仔细看一下!

image_thumb112image_thumb211image_thumb4image

.NET Framework Programming(CLR Via C#)系列

  接触CLR Via C#系列,是因为同事的一本Applied Microsoft® .NET Framework Programming。因为之前看过李建中的翻译版《.NET 框架程序设计》,所以再重复读起来就比较的容易。后来由于项目的关系,自己免费获得了几本中文技术书籍,其中的《框架设计:CLR Via C#》(第2版),大概翻阅了几章,发现翻译质量真的不是那么尽如人意,所以看完几章后就搁置到书架上了,后面在新加坡国家图书馆才读完了它的原文版。另外,去年读了大部分CLR Via C# Third Edition,上个月开始在读CLR Via C# Fourth Edition,不得不说Jeffrey Richter真的写得不错。

image_thumb3111image_thumbimage_thumb111image_thumb2111

Inside Microsoft SQL Server系列

同样,之前免费获得一本《Microsoft SQL Server 2005技术内幕: T-SQL程序设计》,看完之后发现翻译质量还可以且自己收获也颇多,通过Blog得知这套系列图书一共包含四本:

  1. 《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》 对应英文原版:《Inside Microsoft SQL Server 2005 T-SQL Programming》
  2. 《Microsoft SQL Server 2005技术内幕:T-SQL查询》 对应英文原版:《Inside Microsoft SQL Server 2005 T-SQL Querying》
  3. 《Microsoft SQL Server 2005技术内幕:查询、调整和优化》 对应英文原版:《Inside Microsoft SQL Server 2005 Query Tuning and Optimization》
  4. 《Microsoft SQL Server 2005技术内幕:存储引擎》 对应英文原版:《Inside Microsoft SQL Server 2005 The Storage Engine》

  于是产生了购买的想法,但考虑到当时正在搬家,所以后来就通过电子书先后看完了其英文版《Inside Microsoft SQL Server 2005 T-SQL Querying》和《Inside Microsoft SQL Server 2005 Query Tuning and Optimization》。至于《Inside Microsoft SQL Server 2005 The Storage Engine》,自己兴趣似乎不是很大,所以一直都没有没有动过。

cover2_thumbcover1_thumbcover3_thumbcover4_thumb

重构方面的书

谈到重构方面,自己的项目经历比较多,其中书籍也阅读比较多,主要有以下几本对我影响比较大:

image

image_thumb8书名:    Refactoring: Improving the Design of Existing Code                                                      作者:Martin Fowler & Kent Beck…image_thumb9书名: Clean Code: A Handbook of Agile Software Craftsmanship作者: Robert C. Martinimage_thumb10书名: Refactoring to Patterns作者: Joshua Kerievskyimage_thumb11书名: Code Complete: A Practical Handbook of Software Construction, Second Edition作者: Steve McConnellimage_thumb12书名: Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries作者: Krzysztof Cwalina & Brad Abramsimage_thumb13书名: Test Driven Development: By Example作者: Kent Beckimage书名: Design Patterns: Elements of Reusable Object-Oriented Software作者: the GangOfFourimage书名: Head First Design Patterns作者:Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robsonimage书名: Agile Principles, Patterns, and Practices in C#作者: Robert C. Martin, Micah Martin

  大家可能之前看过我写的《31 天重构学习笔记索引》和《31天重构学习笔记重新整理下载》,其实在那之前,也就是2010年初,我也在公司做过《重构——OO与设计模式》的内训培训。当时我知道这个专题想在一下午的时间把它讲清楚是非常困难的,这个不像之后培训的WPF、WCF和 Silverlight那么单纯,并且每个人的基础都不一样。当中有还没有毕业的实习生、刚毕业不久的毕业生、工作了数年的工程师及技术大牛们,所以如何把这些知识很好的插入到每个人的知识树上面成了我考虑的重点。

  同时当时我的心里也比较矛盾,一方面希望参加培训的同事多一些,另一方面希望人越少越好。前者则是按照常理来考虑的,毕竟培训者都希望自己所做的培训,越受欢迎越好,这样才能使自己的思想得到更多人的认可,同时自己也能实现分享知识的目的。后者则是担心怕讲不好,少一点人就少一点罪过。可是恰巧这一次是历次培训中参加人数最多的一次,来参加培训的同事有一百多人,不过幸好由于会议室坐不下,才分成了两批,这样就可以让我具备了更充分的时间和更好的心态。

总之培训是向内和向外的提炼与升华,正所谓“自己理解的知识未必能使人家理解”,这不仅考验的是技术,阅历以及经验,还考验了一个人的综合能力。

image
  1. 多从案例出发想为什么要运用OO和设计模式
  2. UML知识归纳总结及设计工具
  3. 面向对象知识总结(三大特征,五大原则)
  4. 23种设计模式分类总结,Demo实现各种模式
  5. 模式总结和实践指导
  6. 案例分析
0 0