这个话题可能就如“为何男人应该多挣钱?”同样永远不会休止,但其实也是一个你们都对答案心知肚明的问题。你们都知道挣钱只有好处没有坏处,惟一可能称得上“坏处”的就是你须要付出不少时间和努力。学好英语也是同样,只有好处没有坏处。若是你以为本身这辈子都用不上英语,那也应该为你的下一代想一想...其实这里我并不想用什么出去旅游、和老外交流、看懂英文电影之类的老套理由来告诉你们应该去学好英语,而仅仅是想从一个程序员的角度来讨论为什么须要去学好英语。虽然我只是一个还未毕业的大学生,六级也只是勉过,但有些事情不落到本身身上是永远体会不到英语这个东西的做用。废话很少说了,今天写这篇文章也正是由于最近身边发生的一些事而让我有了一些感悟。写得比较粗浅,若是以为写得很差尽情踩我。php
个人一个朋友和我同样都是大四学生,刚出来实习。他是作java的,去了一家很不错的外企,听说是一个新加披的公司。他们一块儿进组的有四我的左右,清一色应届实习生。前几天都是熟悉公司之类的,没有安排正式工做内容,老大告诉他们过几天会有一个组内面试,也就是进一步考察能不能适应工做内容和环境之类的,要求全程英文。这可把我朋友给难倒了,由于他的英语真的不怎么行,基本上是没法聊上两三句那种。不过他当时也告诉咱们本身不是太担忧,第一是已经经过考核进入了这个公司,第二是他说一块儿进组的几个英语应该都不怎么样,毕竟接触的周围的程序员也没几个英语好的。而后也就没作过多的准备...前端
很快面试时间到了,但令他万万没想到的是,和他一块儿进组的几个实习生英语都很不错,基本上能和面试官进行无障碍的交流,他当时就懵圈了。轮到他的时候,基本说不出一句话,后来面试官问他是否是不会说英语,他认可本身英语确实很差,能不能用中文......最尴尬的事情来了,面试官最后让他本身用电脑和手机去翻译成英文,用聊天软件进行交流...这个操做是真的骚,关键是还只有他一我的有这“待遇”。完了以后他告诉我,公司后面的项目内容,包括文档之类的基本都是英语,可能熬不到转正了...java
再来谈谈我在学校参加双选会面试的经历。我应聘的是前端实习,个人专业虽然与计算机关系仍是很紧密,计科系学的大部分课程咱们也有学,可是学校莫名奇妙的把它放在了“信息管理系”下面,也就是严格来讲是属于管理的。而当时和我一块儿参加面试的基本上都是计科系的,软件工程、计算机科学之类的专业。因为去的人太多,我是最后几个才排到面试的人。轮到个人时候,我还记得面试官看到我简历后的第一句话就是,“你过了六级?”。一种疑惑中又带着惊喜的感受,或许就是由于前面计科系的同窗英语不怎么好,不少四级都没过。虽然四六级这个东西说明不了什么,但确实在求职时给了我帮助。python
其实经过我朋友的例子也能侧面反映出一个现状,一句话总结就是:英语不是万能的,但不会英语是万万不能的。webpack
那么英语对程序员到底有多重要呢?文档、代码、工具、google、github、命令等等全部与编程有关的东西,无一列外的都避不开英语。看到这里你还会说英语对于敲代码不重要吗?那么下面我将列举一些与编程有关的英语使用场景,这样就更能深入体会到英语的重要性,也能针对性的去提高本身的英语水平。git
这是最重要的一点,敲代码就是在敲英语,我也找不出理由来反驳这句话。C、C++、java、python、js、php等等主流的编程语言都是老外编写的,哪怕你不知道英语是什么,我也能够确定的告诉你,你代码中敲的东西就是英语。由于除了数字、符号以及特殊文字,你敲的代码都是由26个英文字母组成。而编程语言的魅力也正是在这里,英语赋予了它新的生命。从0和1到如今丰富的编程语言,英语能够说是最大的功臣之一。有了英语,编程语言就能被大多数人所理解,不少编程语言的语法也都是符合人类说话和思惟逻辑的。因此若是你能明白英语表明的意思,你也就能明白大部分语法的做用了(对于结构和用法须要其余的逻辑思惟能力和数学能力)。程序员
举个例子,if和else就是若是和不然的意思。就算你不是个程序员,也至少明白这个东西是与判断有关系的。而更多的例子是一些内置函数,如match、random、replace等等,这些单词翻译成中文就很直白地把这个函数是干什么的告诉了你,匹配、随机、替换就是它们的做用。当你对这些单词的意思都很清楚以后,哪怕你忘记了这个函数的用法,你也知道它的做用。这一点其实对面试是很是有用的,好比当别人问到“要替换这个文字应该怎么作啊”,哪怕你想不起具体方法了,你一想到替换的英语是replace,立刻就能答出“用replace方法啊”,而不是告诉别人我知道这个方法,但就是记不起名字了,这但是很尴尬的。github
对于像我这种每天都在写Bug的人来讲,报错固然是屡见不鲜。当咱们的代码报红的时候,要作的第一件事不是立刻复制粘贴去搜索解决办法,而是应该先把错误读一遍,看下这个错误是什么缘由形成的。那么问题来了,错误确定是全英文,而且复杂一点的错误会变成长难句,光会一两个单词但是不行的。好比下面这个错误:Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
乍一看当场就懵逼了,这啥东西啊。完成时、从句什么都来了,不过仔细一看,这些都是初中就学过的语法知识。因此若是这种状况下我能理解大部分关键语句的意思,那么我就能够针对性的去找错误,而不是一头雾水的先去百度或者谷歌。若是你基础还行,像下面这种错误,即便你不知道404状态码的含义,一看也知道是“加载资源失败”,服务器端的回应出了问题,找不到相应的东西。
Failed to load resource: the server responded with a status of 404 (Not Found)web
程序员另外一个每天打交道的东西就是命令,不管是操做Linux系统仍是使用cmd、git、npm包管理等,都得用命令去执行,这些命令还恰恰全都是英文,你说气不气人。那么怎么更好地去掌握和理解这些命令呢?还得学英语,好比下面这个很是常见的命令写法:面试
npm i webpack@3 -g
这样的命令语言让人感受没有什么逻辑可言,也不太好去记,彷佛只能靠屡次使用和死记硬背才能记住。但并不是如此,i就是install的缩写,g就是general的缩写。一个是安装的意思,一个是全体的意思。连起来也就是耳熟能详的“全局安装”的意思了。其实命令写出来的东西不少都是碎片化的,它每每不让你写一个完整地英文句子,而是用关键性的单词或者缩写去书写,其实这样反而下降了对英语掌握水平的要求,由于单词就能解决大部分问题。
这一点其实没什么说的,官方文档大多数都是英文的,若是你想深刻了解某门语言的特性和使用方法,必须去看原汁原味的文档。
这一点我相信你们都感觉颇多,那就是下载一个IDE或工具后,第一件事就是去配置中文,否则大部分菜单栏的东西都看不懂。若是英语还行,彻底能够省去这个步骤。甚至有些工具根本不能轻松地配置中文,好比MySQL的可视化工具Workbench,要想配置中文还得本身把菜单上的单词都给翻译一遍,再对应地写入配置。就算你配置了中文,要下载一些插件,插件的介绍仍是英文...因此我以为与其每次都去网上翻译,不如直接把英语给学到每次都能看懂七八十,八九十的程度。
程序员经常使用的外网资源很是之多,好比搜索神器Google,找错天堂Stack Overflow,基佬汇集地Github,视频教学Youtube等等,英语很差还真很差操做这些东西...其实不少优质的资源外网都有,我曾经就由于光看文字不太理解callback这个东西,就去油管上搜索了一下“what is callback”,而后看了视频一下就明白了。这里真的强推去油管上看编程的视频,免费还好用。
其实做为一个程序员,除了上述的一些内容,还有很是很是多的地方都须要把英语学好。咱们经常挂在嘴边的I/O,HTTP,IP等等都是英语的缩写,要很好地理解这些东西,不是非要去搞懂他们的英文意思,但你得知道他们为何这么叫,而这些东西都是老外叫出来的,为何固然也只有英语说得最清楚。
这一点我没有太多的发言权,做为一个还没毕业的学生,谈这个未免也太装逼了。可是我确实在网上浏览了许多与之相关的内容,英语好不管在哪一个行业都是有优点的,固然也会对你的职业发展起到必定的帮助。这里又要拿我朋友开刀了,他公司是能够选择去新加坡工做的,工资也比快是国内的一倍了,但他明确地告诉我,就算让他去他也不回去,由于不会说英语...就算每天不出门,和别人交接项目的时候总要说话吧。
写这篇文章其实也是鞭策本身要不断保持学习,同时把英语给捡起来。若是你也以为英语很重要,网上有无数种方法去学习,世上无难事,只怕有心人。其实我心中还总是有一个极端的想法,鞭策程序员去学习英语,这就和追星同样。若是我有幸见到了java的创始人、有幸见到了比尔盖茨、扎克伯格等崇拜的外国友人,我可不能只会说一句hello world啊!