文章目录

  • 为什么要看英文文档
  • 谈经验
  • 阅读方法
    • 语法
    • 词汇
  • 如何去记单词
  • 对全文的把握
  • 批判的观点读英语文章
  • 如何利用google来搜索答案
  • 转载

为什么要看英文文档

在回答怎么做之前,我想说说为什么要这么做。在我们学习新技术的过程中不是有中文文档吗?既然有中文文档,为什么还要去学习阅读英文文档呢,这不是多此一举吗?

我想说的是,这绝对不算多此一举。很多的英文文档虽然有对应翻译的中文文档。但是很多东西的翻译质量是不敢恭维的。就拿一个最常见的书来讲吧,《think in java》就算一本大家公认的好书。但是如果你拿着本书的中文译本去看,绝对让你摸不着头脑。因为这本书是英语专业的人去翻译的。他不懂什么是面向对象,什么是类,什么是继承。所以翻译这样的技术书籍,如果没有一定的知识背景是翻译不出来味道的。而又因为翻译出来的东西,已经丢失了源信息,所以纵使你的中文再如何牛逼,也不能读出书本原来的准确的意思来。

当然,翻译质量只是一方面,另外一方面是对于新的技术,可以第一时间学习到。而且对于一些冷门的知识也不会有人会有精力翻译过来。所以这里的潜规则是:如果这个知识被翻译了过来,那么也就说明这个知识的含金量大大降低了。这也是因为学习门槛低了,学习成本低了。

谈经验

我想说说我在英语阅读方面的经验。

在高中读书的时候,我是那种死记硬背型的,在高三的时候就及格了两三次,但高考却打了115分(150满分)。我想这完全是靠我的单词量,和做题量给拼上来的。在语法方面,我真是一窍不通。如果说会一点的话,那么就是那几个固定的语法公式。然后来到大学之后,单词就忘得差不多了,看阅读也没有了感觉。

但是我们程序员必须要看英文文档啊。没办法,只好硬着头皮读了起来。当时我的反应是这样的:

  1. 大量的生词不认识。
  2. 只能读懂短句,读不懂长句。
  3. 碰到没有生词的文章,也感觉读不懂。
  4. 看到3分钟就产生了厌恶情绪,头晕。

这是一个英语不好的人看英文文档的正常反应,就跟高原反应一样。如果你英语又不好,但是看着英语文档却无比的兴奋和激动,那就是有一点不正常了。我有好几次都看着看着就就把英文文档给关掉了。但是,没有办法啊,关掉了就没有了信息的来源,想要解决的问题还是存在,于是又去看。每次都处于这种纠结之中。于是为了像看中文一样去看英文,我找了下面的方法来克服上面的我那些“正常反应”。

阅读方法

语法

以我的看法,语法是不用太去关心的。你不用去分辨这是定语从句,还是同位语从句,你不需要去考虑这里的是用that,还是用which,同时如果是阅读技术文档,我们也很少要去观察时态的问题。我们的目的是读懂文章,而不是去做题目,只要读懂就可以了。但是我这里的意思并不是所有的语法都可以不要懂。我认为,最基础的你必须能读懂of,和从句。因为这是英语文章里常用的套路。

你也许会觉得奇怪,为什么要读懂of?对于英语基础不好的人来说,不知道of怎么读。找of的例子。这里的语序是和中文不一样的,如果你连of都读不懂,那么就千万别去读英文文档了。

另外,从句也是非常重要的。那种只读的懂长句,却读不懂短句的人大多都是不会阅读从句的人。因为大部分的长句子里都是包含从句的。

Thus, you can add a subtype of Apple to a container that is specified to hold Apple objects.

读英语还有一个非常重要的点,我们不要去把它翻译成为中文。不知道大家有没有这样的习惯,读一个句子,首先会在心里翻译成中文,再去理解中文的意思。听过一个译者说过,读一篇英语文章只要几分钟,但是翻译一篇文章需要几十分钟,甚至更长。这说明翻译远远比理解更加费力气!我们不是翻译家,要给出版社翻译文章。我们的目的仅仅是读懂这篇文章就行了。这样的阅读效率更高。所以,你不应该逐词翻译,而应该是直接理解他的意思。比如说:

it deletes the entry associated with the key specified as an index.

翻译成中文:他将删除与索引指定的key相关的一个条目。
在大脑中的理解:它将删除一个条目,这个条目与key联系,key又由index来指定。
我们不需要去经过“翻译成中文”这个步骤,直接就在大脑中理解意思就行了。我们的目的是理解,而不是翻译!

词汇

词汇是最基础,也是最重要的一关。对我们程序员来说,却不是什么大难题。因为我们看文档多少是在电子设备上看。所以在绝大多数情况下,我们是可以用电子词典的。当你遇到生词时,随便点两下就可以出来意思了(在电子词典方面我推荐使用有道词典,里面的例句功能、记单词功能、和专业词汇功能非常好用)。但是,千万要注意了,有电子词典并不是意味着你就可以不用记单词了。工具永远工具,不会变成能力。为了阅读效率,和阅读平台“可移植性”,我们必须还是要用脑袋去记单词。这是必须的!!!!

1. “最可怕的不是不知道,而是不知道自己不知道”

这句话同样可以应用在词汇当中。例如:

When you use lists, it is illegal to assign to an offset that is off the end of the list.

如果你以为你知道off是“关闭”、“脱落”、“走开”、“切断”的意思,而且以为他只有这么些个意思。那么你就死定了!你永远翻译不出这句话的真正的含义。这就是你“不知道你自己不知道”!如果你始终抱着我不可能不知道它(off)的全部意思的话,进一步查证,你可以找到off还有一个不常用的意思“远离的”。这整句话的意思是:

当你使用List时,将一个值分配给超出list长度的下标是非法的。

在这里我想说的是:对于一些词汇,特别是常用词汇,千万不要理所当然的认为它就只有那个意思,而不去考虑其他情况。

2. 联系上下文
但是有些情况下,将单词的所有意思都查出来了,但还是不太理解这个单词在句子中的含义。这时候该怎么办呢?如果真的查了所有的意思,但是还是不够理解,那么我建议你继续读下去,先放着这个单词不管。比如说,我阅读《Learning Python》时在讲String碰到了一个单词“in-place”。

Every string operation is defined to produce a new string as its result, because strings are immutable in Python. they cannot be changed in-place after they are created.

我看查了“in-place”的所有意思(“就地”、“原状”、“在位”),但我就是不太理解。于是我丢下它继续往下面看。看到了list的时候,发现了这句话

Because lists are mutable,most list methods also change the list object in-place, instead of creating a new one.

在这句话里,有一个关键点提醒了我“而不是创建一个新的”。顿时我就知道了in-place的意思就是修改后,不会返回一个新的对象,而是在原有的对象上进行修改。

通过这个例子,我想大家都明白了,遇到问题我们也不要死扛着,该放就放。

如何去记单词

无论你用何种方法,无论你用的方法是多么的简单有效,无论你是有多么聪明,记单词都是需要毅力的!我说的方法也是需要毅力的。如果你没有毅力,你看你这篇文章也是没有用的。所以,请充满毅力的看完这段文字。

找一个记得单词的软件最好是多平台都支持的。在我们阅读英语文章的时候,会遇到不懂的单词,我们可以将这个单词放到有道的单词本里。而不是像其他记单词的软件,一下就把什么四级啊,六级啊的词汇都放进去。我们只放我们需要记的单词。像那样一下子搞几千个单词太没有目的性了。所以我们的单词本里面的单词都是我们在文章中所遇到的生词,而不是几个千被人指定好的词汇。那么这里就涉及到了一个问题,什么才是我们所需要记单词。我认为符合这两点你就可以将单词添加进入单词本。

  1. 不知道意思,或者很模糊
  2. 出现频率较高

为什么要定这样的规则?因为什么没有必要去记一些我们很少会碰到的单词,如果真的在以后碰见了,查一下字典就行了。但是对于高频词汇,我们一定要牢牢的记住!

我想如果充分的利用好了这些功能,再加上你的毅力的话,单词的问题很容易就能解决。

对全文的把握

也许有的人会碰到这种情况:这篇文章的单词的意思都懂,每个句子的意思都理解,但是还是不知道整篇文章到底要讲什么。发生这样的事情其实是因为你把每一个句子给孤立了,并没有在意句子之间的联系。这样肯定是把握不了全文的。比如说:

As with lists, assigning to an existing index in a dictionary changes its associated value. Unlike with lists, however, whenever you assign a new dictionary key (one that hasn’t been assigned before) you create a new entry in the dictionary, as was done in the previous example for the key ‘brunch’. This doesn’t work for lists because Python considers an offset beyond the end of a list out of bounds and throws an error. (this指代上面那一个不与list相同的事件。)

上文中加粗的关键字都是一个句子链接另一个句子的关键点。而只有把这些链接都串起来,你才可以看懂全文的意思。单独的句子是没有什么意义的。

批判的观点读英语文章

要注意,国内的环境和国外的环境在底层上来说是差不多的。别人的文章里面的观点可能错的,也可能是对的。不要以为外国人都是大牛。所以在阅读英文文章时,我们还必须带有批判性的思维。不要假定它一定是对的或者说一定是错的。对于自己怀疑的东西,最好的严重方法就是自己去试验!在找Servlet的资料的时候,我总觉得文章的观点不对,但又怕自己理解错误,感觉非常矛盾。

The init method is designed to be called only once. It is called when the servlet is first created, and not called again for each user request. So, it is used for one-time initializations, just as with the init method of applets.

我觉得init方法是针对整个服务器而不是针对每一个单独的Servlet。于是我就去写代码测试,很容易检测我们的理解是否正确(当然是这个例子中是正确)。做完实验之后,再去看这段英文,就恍然大悟了。

如何利用google来搜索答案

如果有问题就问google吧,而且要用英文问。因为在国外的资料实在是比国内的多太多了。在这里我提供几个问问题的方法:

How to …

例如:How to remove a property from a javascript object.

What is…

例如:What is the Servlet?

What’s the difference between … and …

例如:What’s the differences between HashMap and Hashtable?

Why is…

例如:Why is java so fast?

转载

http://www.wangfengta.com/blog/index.php/archives/1/

程序员如何阅读英文文档相关推荐

  1. 记录平时编程或者阅读英文文档的时候不认识的英文单词

    一.目的 英语虽然过了4级,但是还是很多英文单词不认识,为了以后能更好的阅读英文文档和函数的英文注释,记录自己不认识的英文单词,方便以后复习,这里后面会持续更新,因为放在网上这个平台不会弄丢. 二.不 ...

  2. 【PC工具】复制翻译神器!有了这个开源免费的翻译软件,阅读英文文档变得再也不困难了...

    介绍 CopyTranslator是基于TypeScript实现的页面翻译软件,它会监听到剪贴板变化,会将剪贴板内容进行处理(如去除多余换行等),并显示翻译结果,翻译效果相比于直接复制黏贴到网页版翻译 ...

  3. 打开 Mac OS X 的朗读功能看英文文档

    Mac OS X 的朗读功能默认是关闭的. 该功能就是朗读所选文本, 结合三指选词查找翻译功能, 对阅读英文文档和学习英文都有很大的帮助. 三指选词查找翻译功能如下图: 打开Mac OS X 的朗读功 ...

  4. 对英文文档中的单词与词组进行频率统计

    一.程序分析 1.以只读模式读取文件到字符串 def process_file(path):try:with open(path, 'r') as file:text = file.read()exc ...

  5. py爬取英文文档学习单词

    最近开始看一些整本整本的英文典籍,虽然能看个大概,但是作为四级都没过的我来说还是有些吃力,总还有一部分很关键的单词影响我对句子的理解,因为看的是纸质的,所以查询也很不方便,于是想来个突击,我想把程序单 ...

  6. java api 英文_教你查阅Java API 英文文档(JDK 11)

    然后找到"Specifications"并点击 API Documentation 比如我们在别人的源码里看到了 方法[也叫函数]:  Scanner input = new Sc ...

  7. 教你查阅Java API 英文文档(JDK 11)

    JAVA Document:https://docs.oracle.com/en/java/javase/11/ 然后找到"Specifications"并点击 API Docum ...

  8. 为什么程序员都不写文档?

    ‍‍‍ ‍ [CSDN 编者按]对于程序员来说文档可能是他最大的软肋.一些被称之为高手的程序员,往往是文档方面的处理会偏弱.不管这个程序员是在大公司.还在小公司.不管程序是写文档的.还是不写文档的,大 ...

  9. 一篇英文文档中找出频数最多的10个单词

    """一篇英文文档中找出频数最多的10个单词collections: Counter 提供计数器工具以支持方便和快速的计数 most_common(n) 返回n个最常见元 ...

  10. [转]Postgres-XL 10r1英文文档

    Postgres-XL 是一个完全满足ACID的.开源的.可方便进行水平扩展的.多租户安全的.基于PostgreSQL的数据库解决方案. Postgres-XL 可非常灵活的应用在各类场景中,比如: ...

最新文章

  1. [转] splice系列系统调用
  2. 书单 | 技术人要有产品思维
  3. SVN打分支及主干合并到分支
  4. mysql五-1:单表查询
  5. LeetCode - Easy - 637. Average of Levels in Binary Tree
  6. 设计模式学习(五):行为型模式
  7. CVE-2013-3346Adobe Reader和Acrobat 内存损坏漏洞分析
  8. 双系统重装win7/Xp后如何恢复ubuntu引导--转载
  9. 阻止 Mac 进入睡眠模式保持清醒的 5 种方法
  10. React第一天(尚硅谷视频)
  11. 华为数通HCIA笔记(OSI七层)
  12. BitTorrent详解
  13. Springcloud euraka服务
  14. 高中数学基础-1.2.2函数的表示法(上):解析法、列表法、图形法
  15. 5G如何改变社会?中国移动出了一本书来解读
  16. 数据交换平台-初步设计
  17. Linux中超级用户root的密码破解与防止破解方法
  18. Python之数据采集与文档读取练习
  19. 华为十年技术总监教你如何学好Jmeter接口测试+压力测试!!!
  20. 零基础超简单的Docker入门教程 So Easy

热门文章

  1. 3D优化之ShadowGun系列一:旗子飘扬效果实现方法及shader注解
  2. php PDO连接mysql
  3. 联想重装系统去掉保护_联想硬盘保护系统,小编教你联想硬盘保护系统怎么安装...
  4. VTK系列12_VTK读取PNG图像并显示
  5. aspnetpager使用介绍
  6. winserver2003手谈
  7. 01 SOLIDWORKS 2021概述
  8. 158.导出northwind中employees的图像
  9. 命令行字符界面与图形界面切换
  10. python垃圾邮件识别_手把手教你用 python 和 scikit-learn 实现垃圾邮件过滤