我教英语二十年,教过小学生,教过高中生,也带过不少已经工作的大人。有个现象很有意思:程序员是成年人里学英语愿望最强的一群人,也是最容易自我怀疑的一群人。
上个月有个小伙子找我,在合肥一家互联网公司做后端开发,技术不错,但每次看英文文档都要开翻译插件,技术博客只看别人翻译好的。他说了一句话让我印象很深:"许老师,我背了三个月单词,abandon背了几十遍,文档一打开还是懵的,我是不是天生不适合学英语?"
不是。是你用错了方法。
用背小学生单词的方式去背一个成年程序员需要的词汇,就好像让你用算盘去做大数据分析——工具和目标完全不匹配,累死你也出不了活儿。
这篇文章,我专门写给词汇量卡在瓶颈期的程序员。不讲虚的,给你三个可以今天就用的实操方法,每一个都在我带过的学生身上验证过。
为什么你背了那么多单词,打开文档还是不认识了?
先搞清楚一个底层问题:什么叫"认识一个单词"?
大部分人对"认识"的定义是——看到这个词,能说出中文意思。但这是一个很低层次的认识。真正"认识"一个词,是你不需要在大脑里做翻译,看到它就像看到"hello"一样自然。
我举个教学的例子。我带六年级学生学单词,从来不让他们"苹果=apple"这样对着背。我会让他们在一堆句子里反复遇到apple这个词:I ate an apple. The apple is red. Do you like apples? 三四个不同场景下来,apple这个词就不再是一个需要翻译的符号,而是跟那个红红的、圆圆的水果直接关联的画面。
程序员读技术文档的困境一模一样。你看到"execute"这个词,大脑里走的是:execute → 执行 → 哦就是运行代码的意思。这个过程多了一步翻译,阅读速度直接打折,句子一长就崩了。但如果"execute"这个词你是在几十个不同语境里认识的——execute a function、execute the script、execution failed、executable file——它在你脑子里就不再是"执行"两个中文字,而是一个跟"让代码跑起来"直接关联的概念。
所以问题的症结是:你背的是单词列表,但你从来没有在真实场景里"认识"过这些词。
那怎么办?我给你三个方法,一个比一个具体。
方法一:用"分层筛选法"搞清楚自己的真实词汇量
大部分程序员评估自己词汇量就一个模糊标准:"我感觉词汇量不够"。这个"感觉"很害人,因为感觉不准确,它让你不知道该往哪儿使劲。
我教每个学生之前必做一件事——测词汇量。不是那种"你知道这个词吗?打勾"的自欺欺人测试,而是真正看你认识的词处于什么水平。
具体操作很简单,你自己在家就能做。
第一步,找一篇你工作中需要读的技术文档,英文原版,别太长,一千词左右就行。从头开始读,拿一支荧光笔,把你不能"秒懂"的词全部划出来。注意我的标准——不是"想一下能猜出来的",而是"需要停下来想"的词,都算不会。
第二步,把这些词分成三类。A类:完全陌生,从来没见过。B类:见过,大概知道意思,但不精确。C类:认识,但在这个上下文里意思不太对。比如你认识"thread"是"线",但在技术文档里它大概率是"线程"的意思。
第三步,重点来了——先别管A类词,那些是你下一步要学的。先处理C类词。为什么?因为你已经认识它们了,只是不知道它们在编程语境下的含义,这类词的掌握速度是最快的。你花半小时专门查C类词在技术语境下的用法,读几个例句,当天就能把这批词变成你的"真词汇"。
B类词是第二优先级,因为你已经有认知基础,欠的只是精确度和熟悉度。A类词放最后,而且学A类词的时候不能脱离B类和C类已经建立起来的语境网络。
这个方法我用了十几年,不管对小学生还是大人,都有一个立竿见影的效果——你突然知道自己到底哪里不会了。知道自己哪里不会,焦虑就减了一半。
方法二:把代码注释变成你的私人英语教材
这个方法是一个我带过的程序员学生发明的,我后来稍作改良,推给其他学编程的成人学生,反馈出奇地好。
做法非常简单:你每天都要写代码对吧?从今天开始,强迫自己用英文写注释。
我知道你听到这儿想笑——"许老师我要是能写英文注释,我还愁词汇量吗?"你别急,我不是让你一上来就写莎士比亚。我给你一个具体的分级做法。
第一周,只做一件事:把注释里的中文动词全部替换成英文。比如你原来写"// 初始化数据",现在强迫自己写成"// initialize data"。你原来写"// 处理用户输入",现在写成"// process user input"。initialize、process、execute、validate、extract——这些词是技术文档里最高频的动词,你每天写注释就是在每天用它们,用着用着你还需要翻翻译吗?
第二周,在动词的基础上加名词。不懂的名词现查,查到了就用进去。"// 从数据库获取用户列表"变成"// fetch user list from database"。写错了怎么办?写错了不丢人,这是你的代码注释,又不是提交给英语老师批改的作业。关键是你在用。
一个月之后你会惊讶地发现,那些你以前背了忘、忘了背的技术词汇,现在不用背了,因为它们是你每天写代码顺手打出来的东西。
心理学上有个概念叫"生成效应"——你主动产出的信息,记忆效果远远好于被动接收的信息。你自己写出来的英文注释,比你盯着单词表看十遍都管用。这就是为什么我当老师这么多年,从来不给学生布置"抄写单词十遍"这种作业,那是在浪费时间。
方法三:用"72小时间隔法"把新词彻底焊进脑子里
前面两个方法解决了"怎么筛选"和"怎么用"的问题。但还有一个现实难题:忘了怎么办?
忘了是正常的。我跟每一个学生和家长都说过一句话:遗忘不是你的错,遗忘是大脑的自我保护机制。你的大脑每天接收海量信息,如果什么都记住,它早就宕机了。大脑在帮你筛选——只把重复出现的信息判定为"重要"。
所以你不需要对抗遗忘,你需要利用遗忘的规律。
德国心理学家艾宾浩斯一百多年前就画出了遗忘曲线,但你不需要记住那个曲线的形状,你只需要记住一个时间节点:学完新内容后的72小时内,是遗忘最快的时间段。
具体操作是这样的。你今天学了十个新词——不管是从技术文档里筛出来的,还是写注释时查的——把它们记在一个地方,手机备忘录就行。然后你在三个时间点回来看一眼:第二天、第四天、第七天。
"看一眼"不是让你重新背一遍,千万别背。就是扫一眼这些词,脑子里过一下:这个词我昨天在哪儿见过?我当时查的是什么意思?大概五到十秒一个词,过完就关掉,该干嘛干嘛。
你可能会怀疑:这么简单有用?我告诉你,有用。因为你不是在"背单词",你是在"提醒大脑这个信息很重要"。连续三次在遗忘边缘被拉回来,大脑就会把这个词标记为长期记忆。
我带过一个初三学生,英语一直在及格线徘徊,单词背了就忘。我就让他用这个方法,不额外花时间背,就按第二天、第四天、第七天的时间点回顾三遍。两个月后他词汇量从不到800跃升到1500左右,中考英语考了102分。不是他变聪明了,是方法对了。
程序员更不用说了,你们每天面对代码的节奏天然适合这个方法。你甚至可以在代码提交的节奏里嵌入这个提醒——git commit的那天顺便看一眼三天前查过的生词列表,完美嵌入,不多花一秒钟。
一个真实案例:从"翻译插件依赖症"到自己读官方文档
回到开头说的那个做后端的小伙子。他来找我的时候,我让他做了方法一里的分层筛选测试。选了一篇Spring Boot的官方文档片段,一千词左右,他划出了47个"不能秒懂"的词。
分类之后发现,47个词里只有9个是A类完全陌生的,11个是C类认识但技术语境下意思不对的,剩下27个是B类见过但不精确的。
我们用了一周时间,先集中处理了那11个C类词。比如他认识"argument"是争论,但在代码里是"参数";认识"package"是包裹,但在Java里是"包"。这类词他学得飞快,因为都是"旧朋友穿了个新衣服"。
然后我们用代码注释的方法,让他在日常工作中有意识地使用B类词。同时用了72小时间隔法提示复习。
大概一个半月后他给我发了个消息,说他发现自己在看一篇技术文章时,读了五六段才意识到自己没开翻译插件。那一刻的感觉,他说像突然不用扶着墙走路了。
这不是什么奇迹。这是方法对了之后,水到渠成的事情。
还有一件事我想告诉你
上面三个方法,你从今天就可以开始用。它们不需要你买任何东西,不需要你每天额外抽一两个小时来学英语。就是把英语学习嵌入到你原本就在做的事情里——读文档、写注释、提交代码。
但我也要坦诚地说,自己做最大的难点在于坚持和反馈。分层筛选的时候,有些词你可能判断不准属于哪一类;写英文注释的时候,遇到不会的表达没人及时帮你;72小时回顾提醒,忙起来就容易忘。这些都是真实存在的。
我这些年一直在琢磨怎么把传统教学里最有价值的东西——老师的判断、及时的反馈、系统的计划——跟现代工具结合起来。后来接触到一个智能英语训练的方式,核心逻辑跟我上面讲的三个方法高度一致:先精准测试定位水平,再在真实语境里记词,最后按遗忘曲线自动推送复习。说实话,看到的时候我是认可的,因为它尊重了语言学习的底层规律,不是那种靠花里胡哨功能吸引眼球的产品。
如果你想找一个系统化的方案来帮你把这套方法落地,可以了解一下李校来啦的训练方案,我从二十年的教学经验来判断,它走的路子是对的——把"学什么、怎么学、什么时候复习"这三件事交给了专业的系统和教练,你只需要跟着走就行。但无论你选不选择这种方式,上面写的三个方法,请你从今天就开始用。你的词汇量困境,不是靠等一个更好的时机来解决的,是靠今天划下的第一条荧光笔线开始的。
想提升英语成绩?
39.9元体验课,含AI词汇量测试+单词训练+抗遗忘复习 →
电话/微信:18715106549