网友蒙面大侠对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
谢邀。我脸皮有多厚才敢回答这个问题啊。
在几年以前(哥年龄35+),我还在问家父什么叫“定语从句”,被鄙视。
老婆学日语的,每当我嘲笑她英语稀烂,她就考我英语语法,然后我只好嘲笑她Excel很烂了。
但这不影响我读英文文档,也不影响我应聘某名声还算过得去的外企PM岗位,他们也没有发现我的英语实际上很“烂”并且把我fire掉。
怎么做到的?我准备把答案写长点骗赞。这是一个如何依靠自学掌握计算机英语应用能力的故事……不想看故事的,直接跳至答案尾部。
我父亲是教师,教大学英语的,这是我从小学不好英语的第一个原因。起因是初一时他闲得无聊,检查我的英语学习情况,单词orange我总是拼不对(天啊现在也没拼对),然后就被实施家暴了,从此我拒绝他检查或者辅导我的英语学习。
初一的英语老师姓周,我对他感激涕零,他激发了我学英语的兴趣,并且教会了我学习英语的核心技能——国际音标,除了26个字母以外,这是我学的最扎实的英语知识了,这使我在查词典后可以知道一个单词可以怎么读。
我始终认为——学习英语最重要的是能开口读,读错了也不要紧。读句子有困难,那就从单词开始。
现在的电子词典、在线词典都有真人语音可以跟着模仿,模仿的时候总结一下发音规律,在遇到新的单词的时候先猜一猜它的读音,再查词典核实自己的猜测。
有了这个方法,长期积累,读不成问题了。
初二的时候,换了一个美女老师。我不喜欢她的原因是她上课很无趣,现在想想大约是因为她没有经常表扬我,而且她讲课的重点是语法,教学方法是不停重复,给我留下语法恐惧症。值得一提的是,初二的数学老师也不怎么喜欢我。
一个不被老师表扬的学生是没有未来的,学校里的课程很无聊可是我还得天天去,总要给自己找点事做吧。这时我拿到一个CASIO计算器,型号是fx-3600,它有很多按钮所以看上去很厉害的样子,还有一本薄薄的说明书(英语+日语)。
为了使自习时间不那么无聊,我天天玩这个计算器,很快就玩腻了,因为高级的功能不会用。我决定把说明书看懂。对于一个学习英语一年左右的初中生来说,这样的“专业文献”自然是很难读懂的,没关系,时间我有的是。
一个笨办法如果有效,那它就是个好办法。
我的笨办法就把说明书上的英文工整地抄写在数学练习本上,然后用英汉词典查每一个单词的意思,试着把它翻译出来。实在翻译不出来的,对照日文版部分的汉字猜。渐渐地,查词典的频率没有那么高了,因为这些词之前都查过并且记住了,比如calculator,不需要再查了。
词汇开始积累。
一个月后,我用这个计算器写出了人生第一个程序——解一元二次方程,用来应付数学老师的练习题,并获得美女同桌的短暂青睐。
我当时以为最后一个收获最重要,现在才知道从此就掉进软件开发的坑里了。
几个月后,人生第一台计算机到手,无教程,无互联网,无老师,只有一本“MS-DOS 5.0 User’s Guide”. (好像是这个名称,记不清楚了)
继续使用笨办法读懂它,读不懂的就上机验证,小半年后基本上可以不用词典了,而且DOS操作学得很扎实。
读这两本User’s Guide给我最大的收获是:
不惧怕英语并将其为我所用,无论自以为自己的水平多么烂。
英语的能力,可以分为听、说、读、写、译。有了上面的经验,读(朗读、阅读)就不是什么大问题了,译也有了一定的经验(信、雅、达的概念就是当初知道的)。
此后的几年乏善可陈,英语水平没有显著提高,勉强能应付考试——不怕记单词词汇就没问题了,词汇量上去了阅读可以基本靠猜了,选择题靠语感(谁让我阅读量大呢),作文主要靠凑字数,完形填空……我们说点别的吧。
听力方面坚持听VOA的Special English,算是有点长进。
在这个阶段我的英语应用主要是用来读技术文档和书籍,并且获益匪浅,比如在学C语言的时候谭大爷写的没读懂,看了几页老外写的教程就懂了。微软MCSE原版教程读完了还顺带考了个证,离散数学的补考是啃完了一本英文教材才过的,我得是有多无聊。
很多人都有一个共识——在技术学习方面,其实读老外的书更容易理解。国外作者走心地考虑读者如何能看懂它,我就见过一本C语言的教程里不厌其烦地教读者四则运算的次序,这是俺们小学的内容啊。
国内的技术教材经常写得让读者看不懂,我经常怀疑他们自己弄懂了没有,或者是故意让读者看不懂才能显得自己水平高。
很多人之所以怕英语,其实是怕考试。而学习和使用英语本身是不难的,是不用怕的。
无论你自以为英语有多不好,用“**ck”骂人的时候,一定是十分有底气吧,这说明你具备了用英语的能力。
对于大多数不在外企工作的程序员来说,有阅读能力英语就能勉强够用了。
而人生的痛苦和乐趣的根源在于你不会满足于现状。
在软件公司工作几年以后,一个外企客户告诉我说他们那里需要一个PM,通过前期项目的接触他们觉得我挺不错的,问我有没有兴趣去,我说我的英语不是很好有没有关系,他说没关系。
这是个坑。
接下来他告诉我首先有电话面试,北京的经理和总部的经理一起,全程英文。
钱比我当时多两倍,是坑也要跳。
好在电话面试不是立刻进行的,而是三天以后,在此期间我把他们可能问到的问题一一列出,我需要回答的答案事先写出来,存到数据库里,我还特意写了个程序检索我会说?
面试的时候我不紧张,反正接电话又不要钱,重点用来介绍自己的工作经历和项目经验(事先准备好的),不用太流利,语法不需要太标准,不要太像背的了。
后来去北京二面以后我入职了,好在同事大多数是中国人,至于老美,一般不和我打交道,见面打个招呼寒暄几句的能力还是有的。少数印度人我们就用Email交流吧。
但是,混是混不过去的。
我遇到一个挑战,和同事聊天用中文基本够用了,可是邮件和报告得用E文写啊,而写是我的短板。
我的解决方案是进入公司的文档库,把他们之前的文档都调出来看,归纳、总结、模仿他们的常见句型、表达方法,然后哼哧哼哧写文档,写完了以后还不忘给自己老爷子发一份,让他帮我改改语法错误,一个别人一小时能写好的文档,我能折腾大半天。
同事的评价——“Tony, 我发现你写的英文比你说的英文好多了啊。”
这不是废话吗?
三个月后,工作上的英文要求能应付了,也不需要发给别人纠错了,但是如果要用英语随便聊聊天,还是有些困难的。
两年多以后我离开了这个公司,不得不承认,由于英语不够好,会影响我在外企的发展,做一些低层级的工作没有太大问题,但是要向上发展,还是不怎么现实的。
后来就回武汉了,自己拉个小摊子做了几年外包,有了前面的经验,美国的客户也能应付的过去了。迄今为止我的英语水平也就仅限于此了,如果只是作为对普通程序员的英语能力要求,基本上算是够用。
讲了这么长故事,事实上我的英语水平是很弱的。我这个答案,仅针对于“编程所需的英语”。
现在来总结一下:
1. 不惧怕英语,你之前怕英语是因为你怕考试,而不是因为怕英语本身。
2. 要有打持久战的准备,词汇的积累、阅读能力的提高不是一朝一夕可以达到的,坚持每天提高一点点,日积月累就够用了。从阅读英文技术文档开始,正因为你读不懂你才需要读它,一天读懂一个段落,就是成功,就是积累。
3. 大多数英语不好的程序员并没有动力和恒心坚持学下去。技术大牛一大部分英语很好的,技术很烂的程序员多半英语都不好(英语专业毕业除外)。
还需要别的吗?
网友崔小二对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
编程需要多少英语?不多吧。看懂一段程序需要更多的是逻辑思维,不是英语,找个英语专业没学过编程的去看一段近似自然语言的ruby程序基本也看不懂。
自然,英语好,可以让你的代码少一些汉语拼音这样的变量名,提升可读性。不过,汉语拼音变量名怎么了?大家中国人嘛,能看懂的,要是一菜鸟,就不要太讲究逼格了。
英语能帮到你编程的地方是你有什么问题看官方文档会帮你找到最直接的答案,即使找不到,还有Stackoverflow这样的网站可以问。可是这些,即使你英语不是很好,还有谷歌翻译和有道翻译这样的工具可以用。
最后,在编程这个技术总是国外的好的领域,要想提升逼格必须能读英文书,必要时还得能看看论文,这些可能对英文要求会高些。论文我还没怎么看过,但从我读的这么多英文的原著来看,只要你有耐心,肯去查单词,其实远比蹩脚的译作容易懂。外国人写书并不像国内的许多书总是装得很高深,他们更能深入浅出,只是有些译作在翻译的时候译者也没搞懂,就随便翻了,就导致我这样的人看书时还得透过中文去猜原作者是什么意思,那能猜明白么(其实也是一种乐趣)?刚开始看英文书时,我一页可能写满了查的单词,可是,这些单词其实很多都是重复的,所以你一本书读下来,到后面需要查的单词会越来越少。
其实楼主你陷入了一个先有鸡还是先有蛋的怪圈,你在苦思我是先学英语还是先学编程呢?要是想学好编程就别纠结英语的问题了,等待你纠结的问题还多着呢。不要在编程的大门外纠结编程世界的事。
网友孙明秋对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
如果
否则
当...的时候
运行
停止
先从上面五个开始
网友刘驰锋对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
自己给自己创造语境。就像练字一样。练的时候像模像样,但自己写就乱七八糟,这肯定是不行的。创造语境的意思是指,尽量用英文对话,如果对方不懂英文,你也得先在脑子里自己跟自己用英文说一遍。就像你看到一个苹果,直觉和多年的中文说话习惯会让你直接反应你面前的这个物体是“苹果”,然后才是“apple”,但是如果你在学习的阶段刻意的去让自己先反应“apple”然后再反应“苹果”,你就会突飞猛进的。
网友梁永锐对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
看你希望做到什么程度了。
如果你只是想会写简单的程序。英语完全没必要学。死记关键字就好了。
但是你要是想在这方面有所发展,那就好好学吧,最起码学到四级的水平,把需要看的书看懂吧。
网友余烜Yasic对[必须的英文]如何从零开始学编程所需要的英语?给出的答复:
边码代码边学呀,毕竟英语只是垫脚石,还是以码代码为最终目的的。