老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“致命”来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。
我在这篇文章中,已经讲到了“为什么程序员非得搞定英语”:
中国人为什么要学英语,程序员为什么要学英语,当我把那些方法名、变量名全部取成拼音,一样可以,谁下的这个破规定?
遗憾的是,诸多学习材料、论文、技术资料(尤其是一些刚出不久的技术),都是英语的;另一方面,国际标准、程序员交流的通用方式,都是英文的,我想肯定很难想象,那些有名的framework、lib的源码,如果用拼音来写变量名会成什么样子。
所以,如果你的英语不好(至少读写不好),就不要给自己找太借口,英语是一个掌握其他工具的工具,除非你坚信,中文很快就会在计算机界变成世界第一通用的语言。
但是原因,其实远不止上面所说的。
如果只懂中文(尤指口语),只能把自己局限在一个比较小的技术圈子里面,和你交流的人,不能超出这个范畴。都说语言是一门工具,把英语掌握不仅仅因为它是世界最流行的语言,更重要的是,世界最优秀的程序员,大多是用英语交流的;世界最优秀的技术,大多使用英文表述的。翻译解决不了技术沟通和讨论的大部分问题,尤其是在软件这个领域内。
再说一个实际不过的例子。这些天我们和整个项目组的同事坐在一起讨论问题,有来自印度的、中国的,还有美国的同事。其实讨论的问题并不复杂和深奥到何处,但是很明显,来自中国的同事都挣扎于英语的表达(大多数情况下,“听”能能力要比“说”强太多了),这成为了技术或者业务交流的瓶颈。一言以蔽之:你再牛,说不出来,又能如何?
也许在可以预见的将来,英语将和编程一样(或者比编程更早),成为世界上几乎所有人必备的技能。编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。而未来的编程技术可以将这种程序代码的编写大众化。例如在微波炉上按几个按钮(相当于录入几个宏指令),给微波炉设定好食物烹调的方式并开始工作,这就是编程大众化的一个简单例子。世界上大部分人的沟通,如果能够统一到一种语言上面,定能减弱和消除许多语言带来的屏障和浪费。波兰的一位医生创立了“世界语”,但是真正能够成为“世界语”的,至少从目前看,只有英语而已。
对于每一个有志于改变生活和改变世界的程序员,都要掌握这样的基础技能,它们非传统意义上我们讨论的软件技术,也非和你的情商相关的玄妙的东西,但是确是结结实实影响你和改变你的元素,比如英语能力,还有cross the greatwall的办法。关于墙外的事情我们暂不讨论,现在只说说程序员应该怎样来学习英语:
阅读大量的英文技术文章。我本人属于愚笨型(没有任何自谦的意思,就是事实),对于外语,起码在阅读上很不敏感,再一个记性也不佳。在学生阶段,我不记得做过多少英文习题,但是都没有好的效果,至今我也没有总结出足够有效的英语学习办法。所以直到现在,在英语识别上面,还会被人嘲笑。不过我脸皮够厚,我相信总会搞定它。事实上和去年相比,我的英文阅读能力还是有了许多进步,从阅读速度上就能看出来。英文技术文章可以到著名的blog上面去找,或者去找你感兴趣的开源项目。这是我的办法。
读写是连在一起的,听说是连在一起的。所以对于听说能力的提高,我倾向于去寻找一些英文的技术讲座。以前我也听VOA,但是后来发现老美讲话往往和VOA差别很大,所以还不如去找原汁原味的英语技术材料。由于生活环境都是中文化的,缺少英语环境的强化,所以我们不得不额外使用一些材料来保持对于英文的敏感性。在阅读和读写的过程中,尽量去用英文思维,而不是逐字逐句翻译。这话说起来简单做起来难,网上有一些资料,比如靠一些语言外的辅助信息去记忆,例如记住“red”这个词的时候,不去记忆“红色”,而是在大脑浮现红色这个颜色来记住它。英文说得好的程序员请和我讨论,毕竟我的办法并不多。
养成访问英文网站的习惯。无论是网上购物、新闻阅读还是SNS,保持自己跟上新讯息的节奏,不妨都尝试着转到英文网站上来(如果不会cross the greatwall请先学习cross the greatwall)。我在努力做这件事情,因为我发现这是一个培养英文思维的好方式。美国许多大学的公开课是一个很不错的资源。
把注意力转移到内容上,而不是语法、音准上。不是说语法、音准这些不重要,而是说,如果把注意力放在这两者上,将无助于用英文思维和表达。对我来说,这在学生时代简直是不可想象的。因为老师经常会打断你,或是在你短短的一句话以后指明你的语法错误,还有哪一个词又读错了。我以前就过度地关注了音准,以前参加过英文演讲比赛,评委发现我演讲的时候口语很流利和地道,那仅仅是因为我在“背诵”,但是到了自己“说”的环节,吞吞吐吐得不行。事实上,我留意到老美在说英语的时候,语法问题也不少,而口音上美国东西部也有所不同。毕竟,语言是用来交流的工具,交流如果只关注在交流本身,它就没有价值。有价值的一定是交流的内容。
在写程序、设计文档等等时候,对于英文的用词精益求精。哪怕细小到变量命名,这本身是职业化的表现。但是,这些关注到的词句往往是反复出现的,而且很可能是常规途径(比如字典)不容易查到的。同事举了个例子,新员工入职,用什么词?“entry”?确实有人用;更多人用“on board”,这个还勉强能查到;最多人用“ramp up”,这个我就在字典里查不到入职这个意思了。
啰嗦了一大堆,仅是我自己的体会而已。如果程序员的你也有好的办法,不妨说出来,一起分享。
转载自《四火的唠叨》
相关推荐
英语单词表--程序员学习英语必用 本资源摘要信息旨在帮助程序员学习英语,提供了50个常用的英语单词,涵盖了日常生活、工作、学习等多个方面。这些单词包括私人的、私聊、剧场、游戏、熊、商业、博物馆、决定、中心...
将学到的英语知识应用到实际工作中,如编写英文邮件、参加国际会议等。实践是检验学习效果的最佳方式,也是巩固记忆的有效手段。 ### 知识点三:推荐学习资源 针对程序员群体,以下是一些实用的英语学习资源: - ...
读书笔记:寻找程序员学习英语背后的秘密.旨在归纳不同类型程序员需求的 英语单词表
读书笔记:专为程序员学习英语的场地在这里我们一起学习一起进步
首先,程序员学英语的必要性在于,计算机科学和技术领域的原始资料大多为英文编写,包括操作系统、编程语言和各类软件等。这些资料往往是最新和最权威的,中文资料通常是对英文资料的二次翻译或解释,可能会有信息的...
【程序员英语学习方法】 在快速发展的信息技术领域,程序员掌握计算机英语变得至关重要。编程语言本身就是基于英语的,即使现代工具允许部分使用中文,但核心的编程语句和逻辑仍然依赖于英文。此外,大部分的技术...
《程序员求职面试英语宝典》是一本专门为程序员准备的面试英语指南,旨在帮助程序员在英语面试中提升自己的表现。此书涵盖了与编程、软件开发、项目管理、技术趋势等相关领域的专业词汇,以及面试中可能遇到的常见...
JAVA程序员常用英语.pdf JAVA程序员常用英语是Java程序员必备的英语知识,涵盖了Java语言的基本概念、编程术语、常用单词和短语等内容。以下是Java常用英语知识点总结: 一、基本概念 * abstract:抽象 * array:...
总的来说,程序员可算是英语水平比较好的群体,因为在这个行业,英文资料是最全面、最及时,对英文资料的需求也最迫切的。因此,就我的观察,即便刚入门不久的程序员,面对陌生的问题,一般也能查阅英文文档,找到...
标签"英文"表明该书主要以英文原版呈现,这对于那些希望深入学习并掌握最新技术的程序员来说,是一个提升专业能力的好机会。英文原版通常能提供最准确的技术术语和最新的研究进展,同时也能锻炼阅读英文技术文档的...
大多数编程语言、框架、库以及技术文档都是英文原版,因此掌握一定的计算机英语是程序员必备的技能之一。《程序员英语单词册》针对这一需求,精心挑选了大量与编程、软件开发、网络技术、数据库管理、操作系统、数据...
自己多年收集整理出来学习资料,包括电子书,官方手册,参考文档。 内容包括c++ 汇编 linux java ssh servelet 还有一个书籍推荐文档,里面包含一百多本推荐的书籍。 所有电子书都是中文版,...英文的。 压缩包分三卷
在编程和IT行业中,英语词汇是必不可少的一部分,因为大多数编程语言、工具和技术都是英文原生的。这份"程序员英语词汇1700词"的资料为程序员提供了学习和掌握核心IT词汇的机会。以下是一些重要的词汇及其含义: 1....
程序员还应该在编写代码注释和文档时尽可能利用原需求文档中的英文词汇,同时参考技术工程文档和会议记录的标准格式,以英语文化的习惯来书写,不要依赖中文直译,确保文本流畅且简洁明了。 在“说”的能力方面,...
**标题**: 程序员密码学 英文电子书 **描述**: 本书为程序员提供了密码学的基础知识介绍,包括密码学的目标、常见威胁模型以及资产保护等方面的内容。 - **密码学定义**:密码学是一门研究信息安全的技术学科,...
程序员的英语进阶指南
【为什么学(why)】:学习计算机英语对程序员至关重要,因为编程本身依赖于英语,技术文档和资料大多为英文,直接阅读原文可以提高理解和效率,减少误解风险。此外,技术更新快速,掌握计算机英语能及时跟进新技术...
《程序员必学的1500个单词》这本书针对的是程序员和计算机专业人员,它汇集了计算机科学和编程中最常见的英语单词和术语。在当今全球化的科技环境中,英语作为国际通用语言,对于从事IT行业的专业人士而言,掌握这些...
5. **英语能力**:阅读英文技术文档是必不可少的,因为新技术通常首先出现在英语环境中。通过不断阅读和使用翻译工具,提高英语水平,以便获取第一手资料。 6. **学习能力**:IT行业的快速发展要求程序员有持续学习...