对于程序员, 为什么英语比数学更重要? 如何学习
程序员联盟群里经常有人问:
-
我数学不好可以学编程吗?
-
我英语不好可以学编程吗?
今天就来一次性回答这两个问题。
我这些年的体会是:
英语对于编程的助力比数学要大。所以要说优先级的话,首先过了英语这关再说。
当然了,很多人会有不同的意见。我这里只是说说不才的我个人的体会。
欢迎留言指教,也可以丢鸡蛋,不过记得再丢几根韭菜,我可以韭菜炒蛋~
为什么这么说呢?很简单,不少编程都不需要什么数学知识,但是英语却是避无可避。
除非你是用易语言编程(不过说实话,中文真的不适合用来写程序。英语的字母组成和特性决定了编程还真需要用英语),不然离不开英语。
对编程来说,学好英语有以下必要性:
-
对编程语言里的基本词汇敏感,便于理解意思。很多函数和变量名都是自注释的(也就是说光看名字就知道意思了),例如isFinished()函数,不懂英语的话就不知道是什么意思,如果会英语马上会知道是判断“是否结束”的函数。很多API或源码是没有注释的,因为函数名已经可以达意了,但不会英语你就看不懂。
-
能够为变量或函数起个好名字。命名可以一大学问,名字起得好,一看便知,就是1中所说的自注释了。如果英语不好。起了个有语法错误的名字,或者胡乱起一个名字,或者起一个拼音读音的名字(比如haoChiMa,简直不能忍),对于阅读你程序的人或者是你日后自己回看自己的程序,简直惨不忍睹。
-
很多好的教程和书籍是英语的。虽然现在伟大祖国越来越发达,国人编程整体水平越来越高,也著有非常优秀的书籍,写了非常优秀的博客等。但是,老外的思维方式还是跟我们不太一样,看老外的文章往往比同类的中文教程易懂。因为他们思维跳跃,语言幽默、形象,看起来比较轻松愉快。不过,我越来越发现:比如我在搜索Android一个知识点时,Google的英文结果没有满意的答案,在中文的博客里却会找到答案。这说明我国已今非昔比了。
-
很多好的论坛,网站是英语的。例如最著名的stackoverflow,github,等等。在上面可以用英语提问,回答;参与开源项目,撰写文档,等等。当然了,国内CSDN这样的综合编程社区也是很优秀的,但是一般来说新技术会第一时间用英语在国外网站发出来,例如Android的各种新闻,我们中文版还需要等人翻译,这就滞后了。
-
很多书籍,有中文翻译版,但是不好理解,因为翻译水平不行。所以要看原版的话只能会英语。
-
很多软件,没有汉化,只能会英语。
我在之前的文章里提过, 我从2011年编程入门以来, 这5年很努力, 几乎每天都在学习。
当然了, 还是大菜鸟一枚。不过这5年, 可以说学了别人10年的东西。(不光是编程,也学了很多其他技能。)
很重要的一个原因就是我的英语还不错(当然了, 比我好的人多了), 英语好对编程真的帮助极大!
反观数学:只在某些特定领域需要数学比较好。
例如游戏开发,3D游戏需要有坐标系的转换,重力,反弹,角度等计算,需要数学知识:嵌入式底层,位移,与、或、非等运算,二进制,十六进制,八进制和十进制的转化和计算,需要数学知识;高科技或研究领域,比如航空信息工程,那数学要求很高。但这些编程领域,还是离不开英语。
一般的编程,你说Web编程吧,如果是前端,一般都不需要什么数学知识吧;做Android应用开发,也不用数学好。
不过,说到底,如果你英语好,数学也好,那对于编程肯定有益。
那么,如何学好英语呢?
首先,兴趣是最好的老师。
如果你不觉得学英语是一件苦差事,反而饶有趣味,那么你的进步会很快。
我就是这样,学习外语对于我来说是很有意思的事。
我敢说自己是程序员里英语很好的,说英语的人里编程很好的。
除了英语还会法语,一些西班牙语,和中文诶(哇,竟然会中文,好腻害...)。
我业余也在给全球下载量很多的App做中英翻译团队志愿者,已经2年多了。
所以你担什么心呢?大可放心来找我。小编久居法国(7年了),每天工作都要接触英语和法语。英语只可能进步,不可能退步~ 有什么学习英语的问题,可以来找我哦。
如果你对英语兴趣不大,那可以用下面的几个方法:
1. 语法是主干
不少人学外语,总觉得应该要学一些常用语,和老外打成一片,口语是很好啊,单词量也有。但是假如知其然,不知其所以然的话,你是走不远的。
学语法,就是“知其所以然”。
要真的学好一门外语,语法太关键了。语法是铜筋铁骨,打扎实了,其他的单词,什么的,慢慢装饰不急。
以前小编的初中课外英语老师就经常强调:英语要打扎实语法。所以小编对语法一直不敢怠慢,后来发现,学其他外语也特别快。只要先从语法入门,其他都水到渠成。
2. 看到背后的益处
也许你会说:“什么?学英语还有什么益处?除了让我不爽之外。”
是的,学英语当然大有益处。学外语,其实是学其背后的文化。一门语言,代表了说这门语言的国家人群的生活习惯,思维方式,文化历史,等等。
如果把学英语想成能够接触英语文化,学习其历史背景,人文艺术,高新科技的大好机会,那你学习就有了新的目标和动力了。
什么?你还是没有动力?你,你,你给我出去~ :P
3. 学腔调
学一门语言,其实很关键的一点是学腔调。什么是学腔调呢?就是模仿,类似“鹦鹉学舌”。
你应该听那些纯正的外语者是怎么发音的,他们说话用的是什么腔调,你就跟着学,模仿就好了。他们怎么待人接物,你也怎么做;他们怎么用这门语言,你也怎么用。
因为语言不是干巴巴的文曲星的发音,每种语言都有其特殊的腔调。这一点,说英国腔英语的人肯定大有体会。
4. 不死背单词
不少朋友学英语,拉起来就猛背单词,个人觉得不是太有效。诚然,单词对于语言来说很关键。假如没有词汇量,你语法再厉害,也是张口的“聋哑”人,不是吗?听也听不懂,说也说不出来。
但是单词怎么才能记得牢,个人觉得用情景记忆法最佳:比如多和老外聊天,他们提到或纠正你的单词,你会一直记得,基本都不会忘了,因为你把这个单词和当时的情景联系在一起了;看文章看电影记单词,也是不错的方法,这样才能活记,也是利用情景记忆法。
5. 勇敢说出来
什么“疯狂英语”等概念其实是有其道理的。中国人一般都讲求低调做人,要谦虚不张扬,隐忍不狂放。
但是很多外国的英语老师都会鼓励我们不要怕丢面子,I 就要大声说出来。毕竟肚子里再有墨水,不说就只能黑在肚子里了。
6. 看电影和唱歌
看电影和学唱英语歌曲是很好提高英语的技巧,但是这个是在掌握好语法的情况下,不然跟不学语法只和老外聊天没什么区别。
看英语电影时,可以用遮挡物遮住字幕部分,看几遍电影,因为看中文字幕你是很难提高的。
学英语歌呢,可以先自己把歌曲用中文翻译出来,搞清楚意思了,再去背。
7. 多看书
不用说了,多看一些好书吧。
加油,让英语成为你编程学习的一大助力吧!
PS:我的微信公众号是 张战威ican