• 程序员这样提高英语,少走很多弯路


    这篇文章主要谈程序员学习英语的总体方法以及需要避免的坑,针对具体内容的学习方法可以看看这个专栏的其他文章。

     

    1、对英语学习有个大概的计划

    我们都习惯用搜索引擎搜想要的内容,关于英语学习网上有海量文章,既有学习方法,也有各个方面的具体学习内容。有些人可能喜欢看到什么就学什么,口语、音标、听力、写作、语法、单词、阅读……几乎都涉及,那这样学得太散了,不聚焦,可能哪一块都学不好。

     

    所以在有了学英语的需求之后,建议好好想一想自己主要想提升哪方面的英语能力、要实现这个目标现在还欠缺什么、总体的学习路径是什么、采用什么方法、时间和学习周期如何安排等等。

     

    2、搞定单词主要用“闪电战”,而不是“持久战”

    首先,背单词不要感到有太大压力,英文词典甚至四六级词汇书上大多数单词跟编程没有关系,开发中不会或很少遇到。那这些单词还用管吗?当然不用,妥妥地离它们远点。

     

    实际上,程序员要掌握的单词不是很多,有四五千的词汇量就可以顺畅地编程。如果还想做更多事情,比如逛英文技术社区、看英文博客或技术文档,就有必要再增加词汇量。建议集中几周的时间展开“闪电战”,对照自己的词汇量,依次搞定:常见的计算机词汇、Java开发(或其他语言)高频词、高频词之外其他重要的编程或涉及某个技术的词汇。

     

    如果只是为了书面应用,背单词的过程可以非常快,浏览这些单词并能记住中文含义和词性就行,不需要会读、会写。熟的单词立即略过,不熟的、没见过的多看几眼。你作为程序员,难度高的代码都能写出来,去背一些单词简直是降维打击。

     

    不太理解有人为什么要把记必要的单词整成“持久战”,这个过程会有点煎熬吧?反正我不喜欢这种方式。当然了,当你把跟开发相关的常见且重要的单词都搞定之后,在阅读英文资料的过程中想再多积累一些新单词,这个时候实行“持久战”是可取的,属于锦上添花的动作,这些单词即使没记住也没多大关系。

     

    具体的单词记忆方法点击这篇文章:记单词的几个有效方法

     

    3、听说读写译只选一两项集中学习,不要幻想同时拿下

    在英语听说读写译这几项技能中,优先提升对你目前开发工作最重要、最有价值的,有些能力即使是自己的短板,只要还用不上就先不管,等需要的时候再练不迟。

     

    同时学太多内容,就好像开启了多个线程,每个都要花费时间和精力去管理,结果没有一个表现突出。

     

    4、学习材料和开发的相关性越高越好

    通过看美剧或英文电影想提高跟开发相关的英文水平,这是闹着玩呢?相信大部分想提高英语的程序员不会这么做,不过可能找的学习材料太通用了或者和四六级等考试相关,而离计算机和编程远了点。

     

    假如英语底子实在太薄弱,建议先学习通用的基础英语知识,单词、语法之类的都先补一补。词汇量不够,就去找跟计算机、编程、某种开发语言或技术相关的词汇资料,纸质书、电子书、博客、视频都行。要加强语法,也只看与开发联系紧密的一些知识点,例如:句子构成和类别、各种词类的用法、时态、被动语态、非谓语、从句。

     

    单词和语法搞定之后,可以把英文技术文档和原版书作为学习材料,在实战中提升英语能力。它们其实没有那么难,特别是英文技术文档,可能相关技术都已经用得比较熟了,中文版不知翻了多少遍,这种情况下看英文版很好懂。刚开始接触技术类的英文原版书,先挑简单的,最好是具备相关背景知识的,比如Java开发去看Java in 24 Hours。

    4a98ef6c4b114c24bf9860d22a1ebf08.png

     除了出于散发凡尔赛气息的目的,英语水平不够一上来就看Computer Systems《深入理解计算机系统》、Compilers《编译原理》或Operating System Concepts《操作系统概念》的行为是不可取的。多说一句,这种大部头的经典书籍,没必要完整地看英文原版,中文版已经翻译得比较好,但如果中文版有某些地方感觉不太明白,倒可以看一下英文版的对应内容,可能很快就理解了。

     

    另外,不过学习材料是书籍、网络文章,还是视频、音频甚至直播,都要讲究系统化,有相对完整的体系,避免学习零零散散的内容,不然效果容易打折扣。

     

    5、用整块的时间去学习

    碎片化学习容易让知识结构也碎片化(刷单词除外),比如每次学10多分钟,一天学5、6次,看起来很勤奋,实际上效果不好,因为大脑受不到持续的刺激,还没进入好的状态,学习就结束了。

     

    建议每次学习40分钟以上,中间尽量不做其他事。也不要心血来潮一次学他个两个小时以上,因为学久了大脑容易疲劳,学习效果会减弱。

     

    6、不要过度学习语法,它们大多数跟开发没关系

    随便翻开一本大学英语语法书,会发现它们的目录通常都有二十多个章节。对于程序员来说,不用学这么多,像倒装、强调、虚拟语气、反义疑问句就不用学。跟学单词一样,如果一股脑地全学,浪费时间和精力,学了也没什么用。

     

    只掌握核心的、必要的语法知识和技能,即使后面再遇到不懂的语法,临时再学就是,相信自己的学习能力。

     

    还有,即使是应该学习的语法,也不用学太深,重在理解,能看懂英文技术文档等资料中的句子和段落就学合格了。至于更多的规则、特殊的用法,说一句“谢谢您嘞”就行。

     

    7、加强语法,遵循“总分总”的思路,别一上来就名词冠词啥的

    在开发中对于英语的运用,主要体现在句子层面,也就是说我们需要重点处理的是句子而不是一个个细碎的词,从整体上把握句子中各种词的关联和用法。学习各种词如动词、形容词等的用法仅仅是手段而不是目的,真正的目的是理解英文句子,理解所看到的英文在表达什么内容。

     

    由于我们基本上都有高中、大学四级的英语语法底子,现在再次接触语法不属于新学,而是加强或重组。那么,在这个过程中,建议先从句子的角度去看待英语语法,了解一些关于句子的内容后再去巩固低一层次的各类词的用法,之后再回到句子层面。这样效率会更高,知识体系更清晰、有序,而不是一堆乱麻。

     

    下面是一个语法框架图,可以了解一番:

    54de4b094ae7409f974d5e6a8bac9e38.png

    8、摒弃“英文和中文是反过来”的想法,英文的顺序没那么简单

    一谈起英文和中文的区别,不少人的习惯反应是:“英文和中文是反过来的。”这个说法有时候是对的,比如这一组中英文句子:

    What did Laowang see?

    老王看见了什么?

     

    但是这个说法在大多数情况下是有问题的,因为在表达的时候,英文句子和中文句子中的核心成分(主语、谓语、宾语、表语),排列顺序相同,都采用了SVO结构,即:

    “主语+(谓语)动词+宾语”

    换成通俗的表达是:

    什么人(物)做了什么事情

    在这个结构中,动作的发出者(主语)、动作(动词)、动作的承受者(宾语),从前到后依次排列。

     

    以下两组关于老王的句子,都使用了SVO结构。

    1) Laowang likes writing code.

    老王喜欢写代码。

    2) Laowang saw a sand sculpture on the beach.

    老王在沙滩上看见了一个沙雕。

     

    9、英语学习会存在高原期,接受它,跨越它

    这个说法你可能听过甚至有亲身体会。学了一段时间英语后感觉不到有什么进步,这是很正常的,我们要做的就是确保方法是对的、学习材料是比较优质的。像这样持续1-2个月,能体会到效果。

     

    也可以学习几周后,自己检测学习效果,做卷子就免了,直接在某个英文文档中随机找几个段落看看。如果看得比之前顺畅很多,生词减少了,句子扫一眼就明白含义,这说明你的学习起效果了。

     

     

  • 相关阅读:
    路径规划算法:基于布谷鸟优化的路径规划算法- 附代码
    基于Minimax&Alpha-Beta剪枝和强化学习的播棋(Mancala)AI
    浅谈xss
    小C的数组(array)
    Python爬虫技术系列-02HTML解析-xpath与lxml
    Sealos 云主机正式上线,便宜,便宜,便宜!
    CSRF的其他防范措施?
    两万字!多线程硬核50问!
    简述对象、类、类结构、消息、方法的基本概念。
    代码越写越乱?那是因为你没用责任链
  • 原文地址:https://blog.csdn.net/baiguo2017/article/details/126562544