Skip to content

四火的唠叨

一个纯正程序员的啰嗦

Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接
Menu

程序员学英语

Posted on 07/23/201210/01/2024 by 四火

老实说,我对于英语的认识,从没有把它的重要性放到一个足够的高度上来,从去年下半年开始,接触到越来越多的英文材料,也随着视野的开阔,逐渐发现英文能力,是程序员个人发展的必备技能。在很多情况下,它的重要性可以用“ 致命” 来形容。以前有同事说,程序员职业生涯的发展,起到决定作用的,绝大多数时候都不是技术和业务,而是其他被人忽视的“ 软实力”,譬如沟通、性格、英文等等。兴许我现在正在渐渐参悟这句话的含义。

我在这篇文章中,已经讲到了“ 为什么程序员非得搞定英语”:

中国人为什么要学英语,程序员为什么要学英语,当我把那些方法名、变量名全部取成拼音,一样可以,谁下的这个破规定?
遗憾的是,诸多学习材料、论文、技术资料(尤其是一些刚出不久的技术),都是英语的;另一方面,国际标准、程序员交流的通用方式,都是英文的,我想肯定很难想象,那些有名的 framework、lib 的源码,如果用拼音来写变量名会成什么样子。
所以,如果你的英语不好(至少读写不好),就不要给自己找太借口,英语是一个掌握其他工具的工具,除非你坚信,中文很快就会在计算机界变成世界第一通用的语言。

但是原因,其实远不止上面所说的。

如果只懂中文(尤指口语),只能把自己局限在一个比较小的技术圈子里面,和你交流的人,不能超出这个范畴。都说语言是一门工具,把英语掌握不仅仅因为它是世界最流行的语言,更重要的是,世界最优秀的程序员,大多是用英语交流的;世界最优秀的技术,大多使用英文表述的。翻译解决不了技术沟通和讨论的大部分问题,尤其是在软件这个领域内。

再说一个实际不过的例子。这些天我们和整个项目组的同事坐在一起讨论问题,有来自印度的、中国的,还有美国的同事。其实讨论的问题并不复杂和深奥到何处,但是很明显,来自中国的同事都挣扎于英语的表达(大多数情况下,“ 听” 能能力要比“ 说” 强太多了),这成为了技术或者业务交流的瓶颈。一言以蔽之:你再牛,说不出来,又能如何?

也许在可以预见的将来,英语将和编程一样(或者比编程更早),成为世界上几乎所有人必备的技能。编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。而未来的编程技术可以将这种程序代码的编写大众化。例如在微波炉上按几个按钮(相当于录入几个宏指令),给微波炉设定好食物烹调的方式并开始工作,这就是编程大众化的一个简单例子。世界上大部分人的沟通,如果能够统一到一种语言上面,定能减弱和消除许多语言带来的屏障和浪费。波兰的一位医生创立了“ 世界语”,但是真正能够成为“ 世界语” 的,至少从目前看,只有英语而已。

对于每一个有志于改变生活和改变世界的程序员,都要掌握这样的基础技能,它们非传统意义上我们讨论的软件技术,也非和你的情商相关的玄妙的东西,但是确是结结实实影响你和改变你的元素,比如英语能力,还有翻墙的办法。关于墙外的事情我们暂不讨论,现在只说说程序员应该怎样来学习英语:

阅读大量的英文技术文章。我本人属于愚笨型(没有任何自谦的意思,就是事实),对于外语,起码在阅读上很不敏感,再一个记性也不佳。在学生阶段,我不记得做过多少英文习题,但是都没有好的效果,至今我也没有总结出足够有效的英语学习办法。所以直到现在,在英语识别上面,还会被人嘲笑。不过我脸皮够厚,我相信总会搞定它。事实上和去年相比,我的英文阅读能力还是有了许多进步,从阅读速度上就能看出来。英文技术文章可以到著名的 blog 上面去找,或者去找你感兴趣的开源项目。这是我的办法。

读写是连在一起的,听说是连在一起的。所以对于听说能力的提高,我倾向于去寻找一些英文的技术讲座。以前我也听 VOA,但是后来发现老美讲话往往和 VOA 差别很大,所以还不如去找原汁原味的英语技术材料。由于生活环境都是中文化的,缺少英语环境的强化,所以我们不得不额外使用一些材料来保持对于英文的敏感性。在阅读和读写的过程中,尽量去用英文思维,而不是逐字逐句翻译。这话说起来简单做起来难,网上有一些资料,比如靠一些语言外的辅助信息去记忆,例如记住“red” 这个词的时候,不去记忆“ 红色”,而是在大脑浮现红色这个颜色来记住它。英文说得好的程序员请和我讨论,毕竟我的办法并不多。

养成访问英文网站的习惯。无论是网上购物、新闻阅读还是 SNS,保持自己跟上新讯息的节奏,不妨都尝试着转到英文网站上来(如果不会翻墙请先学习翻墙)。我在努力做这件事情,因为我发现这是一个培养英文思维的好方式。美国许多大学的公开课是一个很不错的资源。

把注意力转移到内容上,而不是语法、音准上。不是说语法、音准这些不重要,而是说,如果把注意力放在这两者上,将无助于用英文思维和表达。对我来说,这在学生时代简直是不可想象的。因为老师经常会打断你,或是在你短短的一句话以后指明你的语法错误,还有哪一个词又读错了。我以前就过度地关注了音准,以前参加过英文演讲比赛,评委发现我演讲的时候口语很流利和地道,那仅仅是因为我在“ 背诵”,但是到了自己“ 说” 的环节,吞吞吐吐得不行。事实上,我留意到老美在说英语的时候,语法问题也不少,而口音上美国东西部也有所不同。毕竟,语言是用来交流的工具,交流如果只关注在交流本身,它就没有价值。有价值的一定是交流的内容。

在写程序、设计文档等等时候,对于英文的用词精益求精。哪怕细小到变量命名,这本身是职业化的表现。但是,这些关注到的词句往往是反复出现的,而且很可能是常规途径(比如字典)不容易查到的。同事举了个例子,新员工入职,用什么词?“entry”?确实有人用;更多人用“on board”,这个还勉强能查到;最多人用“ramp up”,这个我就在字典里查不到入职这个意思了。

啰嗦了一大堆,仅是我自己的体会而已。如果程序员的你也有好的办法,不妨说出来,一起分享。

 

文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》

×Scan to share with WeChat

你可能也喜欢看:

  1. 再谈程序员学英语
  2. 关于国内程序员到美国工作
  3. “ 你不适合做程序员”
  4. 多面手程序员
  5. 进阶过程:程序员做项目的独立性

8 thoughts on “程序员学英语”

  1. Cat Chen says:
    07/23/2012 at 10:54 PM

    确实应该将英语关联到形象,而非中文。
     
    听说关联和读写关联可能没你想象中强大。人的词汇分为主动和被动两种,被动是指你碰到能明白但表达时想不到能用的单词,你能听懂很多单词并不代表你说的时候能用上。很多中国人听比说强很多,读比写强很多,这是很正常的。因为中国教育本来就压制你自由表达的能力,作文长期训练你讲套话(至少对大多数人来说如此),换成英文很快你也就意识到自己语言无关的表达能力早有缺陷。

    Reply
    1. 四火 says:
      07/24/2012 at 8:49 AM

      英语思维是我后来感受到的。我想这大概才是英语好坏根本的区别吧。等到看一些英语节目,联想到某个东西、某件事情,或者理解意思,但是没有想到中文,大概就成功了。

      Reply
  2. 卡爱 says:
    07/23/2012 at 3:29 PM

    对英语有抵触情绪,心里有阴影啊。不过我还是认为英语很重要,想博主学习

    Reply
  3. laperlee says:
    07/23/2012 at 2:35 PM

    额我一般上网找英文资料都是直接看源码 然后再确认下这段源码大致是干嘛的 至于说整篇文章看完不多

    Reply
  4. wendal says:
    07/23/2012 at 1:14 PM

    能看懂英文文档就可以了, 不必强求口语

    Reply
    1. 四火 says:
      07/24/2012 at 8:51 AM

      不敢苟同。语言还是用来沟通的,阅读可能是最常用的没错。只是在工作中,只能看懂对我来说还远远不够。

      Reply
  5. luobo25 says:
    07/23/2012 at 1:10 PM

    以前看过一本书叫《千万别学英语》,里面提到查词典一定要查英英词典,方便培养英文思维,里面推荐的 collins  cobuild 词典我现在还在用

    Reply
    1. Cat Chen says:
      07/23/2012 at 10:56 PM

      我也比较支持这种做法。中学时翻 Collins Cobuild,不看英中字典,不背单词,忘记就继续查

      Reply

Leave a Reply to luobo25 Cancel reply

Your email address will not be published. Required fields are marked *

订阅·联系

四火,啰嗦的程序员一枚,现居西雅图

Amazon Google Groovy Hadoop Haskell Java JavaScript LeetCode Oracle Spark 互联网 亚马逊 前端 华为 历史 同步 团队 图解笔记 基础设施 工作 工作流 工具 工程师 应用系统 异步 微博 思考 技术 数据库 曼联 测试 生活 眼界 程序员 管理 系统设计 缓存 编程范型 美股 英语 西雅图 设计 问题 面向对象 面试

分类

  • Algorithm and Data Structure (30)
  • Concurrency and Asynchronization (6)
  • System Architecture and Design (43)
  • Distributed System (18)
  • Tools Frameworks and Libs (13)
  • Storage and Data Access (8)
  • Front-end Development (33)
  • Programming Languages and Paradigms (55)
  • Testing and Quality Assurance (4)
  • Network and Communication (6)
  • Authentication and Authorization (6)
  • Automation and Operation Excellence (13)
  • Machine Learning and Artificial Intelligence (6)
  • Product Design (7)
  • Hiring and Interviews (14)
  • Project and Team Management (14)
  • Engineering Culture (17)
  • Critical Thinking (25)
  • Career Growth (57)
  • Life Experience and Thoughts (45)

推荐文章

  • 聊一聊分布式系统中的时间
  • 谈谈分布式锁
  • 常见分布式系统设计图解(汇总)
  • 系统设计中的快速估算技巧
  • 从链表存在环的问题说起
  • 技术面试中,什么样的问题才是好问题?
  • 从物理时钟到逻辑时钟
  • 近期面试观摩的一些思考
  • RSA 背后的算法
  • 谈谈 Ops(汇总 + 最终篇):工具和实践
  • 不要让业务牵着鼻子走
  • 倔强的程序员
  • 谈谈微信的信息流
  • 评审的艺术——谈谈现实中的代码评审
  • Blog 安全问题小记
  • 求第 K 个数的问题
  • 一些前端框架的比较(下)——Ember.js 和 React
  • 一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js
  • 工作流系统的设计
  • Spark 的性能调优
  • “残酷” 的事实
  • 七年工作,几个故事
  • 从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
  • 一道随机数题目的求解
  • 层次
  • Dynamo 的实现技术和去中心化
  • 也谈谈全栈工程师
  • 多重继承的演变
  • 编程范型:工具的选择
  • GWT 初体验
  • java.util.concurrent 并发包诸类概览
  • 从 DCL 的对象安全发布谈起
  • 不同团队的困惑
  • 不适合 Hadoop 解决的问题
  • 留心那些潜在的系统设计问题
  • 再谈大楼扔鸡蛋的问题
  • 几种华丽无比的开发方式
  • 我眼中的工程师文化
  • 观点的碰撞
  • 谈谈盗版软件问题
  • 对几个软件开发传统观点的质疑和反驳
  • MVC 框架的映射和解耦
  • 编程的未来
  • DAO 的演进
  • 致那些自嘲码农的苦逼程序员
  • Java 多线程发展简史
  • 珍爱生命,远离微博
  • 网站性能优化的三重境界
  • OSCache 框架源码解析
  • “ 你不适合做程序员”
  • 画圆画方的故事

近期评论

  • Ticket: TRANSACTION 1.922915 BTC. Go to withdrawal >> https://yandex.com/poll/enter/BXidu5Ewa8hnAFoFznqSi9?hs=20bd550f65c6e03103876b28cabc4da6& on 倔强的程序员
  • panshenlian.com on 初涉 ML Workflow 系统:Kubeflow Pipelines、Flyte 和 Metaflow
  • panzhixiang on 关于近期求职的近况和思考
  • Anonymous on 闲聊投资:亲自体验和护城河
  • 四火 on 关于近期求职的近况和思考
  • YC on 关于近期求职的近况和思考
  • mafulong on 常见分布式基础设施系统设计图解(四):分布式工作流系统
  • 四火 on 常见分布式基础设施系统设计图解(八):分布式键值存储系统
  • Anonymous on 我裸辞了
  • https://umlcn.com on 资源链接
© 2025 四火的唠叨 | Powered by Minimalist Blog WordPress Theme