昨天(3月19日)全国英语等级考试开始,虽然因为疫情的原因,很多地方取消了考试,但是,作为一个毕业生必考的证书,找好工作的敲门砖,这依然是一个很重要的考试项目。
那么,作为一个程序员,有没有必要考一个四六级证书呢?或者说,英语,对程序员真的很重要吗。今天,咱们就聊聊这个话题。
我们首先要明确的是,现在所有的主流编程语言都是基于英语的26个字母,即使有些语言的变量可以用中文定义,但是,这些语言所用的魔术常量、超变量、内建函数(这里以php为例,其他语言也类似)都是英文命名的,再比如用function定义函数或者方法,用class定义类,数据类型有int、varchar、float等。另外,作为一个程序员,应该都知道几乎所有主流的开源框架、库都是用英文来编写文档,虽然目前国内的程序员也开始发力,贡献了很多厉害的开源框架,比如vue等,但是,如果要发展得更好,离不开英文世界。
上面说了这么多,有人会认为我是在认可英文对编程很重要,但是实际上,本人很排斥这个说法,对于编程来说,英文是重要的工具,但仅此而已,这就好比我们学习几何的时候,需要用到三角板、直尺、圆规一样。试问一下,如果没有圆规,你就真的画不出来一个圆了吗?英语对编程很重要的这个说法,大概来自于外行在看到程序员电脑上密密麻麻的字母的有感而发,毕竟大多数人对英文字母的理解就是英文的基础。但是,实际上对于程序员来说,可能常用的单词并没有多少,更不要说达到四六级的程度,当然,能达到就更好了。
可能,我们在做某一个项目的时候,会对这个项目里面设计的专有名词很陌生,但是这不妨碍我们做下去,因为翻译工具那么多,哪一家的都能解决问题。
下面,我们总结一下英文在编程界经常会用到的地方:1、变量、方法名、数据库表名、字段名等;
在做一个项目的时候,我们可能需要自己定义很多的东西,用中文,对编译之类的不友好,有些语言也不支持,用拼音,可能会在一段时间之后,自己也不知道是什么,而且还会被项目经理骂,随便用随机字符串,那就更不行了。
一行优秀的代码,不光要自己看得懂,还要让别人看得懂,所以,这个真的很重要。所以,最好的办法就是用英文或者英文的简写,比如字符串替换的方法,我们可能会定义成strReplace,str是string的简写,意思是字符串,replace是替换的意思。
那么,我们真的要记住很多单词才能驾驭吗?当然不用,在我们学习一个语言的最初阶段,其实已经接触了很多相关的英文单词,datetime我们早就知道是日期时间了,format我们也知道是格式化,那么加在一起,我们要定义一个日期格式化的方法名称也就很容易。
另外,如果你已经做了三五年的程序员,可能同一个变量名已经用了不下百次,数据库的表名也一样,比如我们知道member、user、blog、article等等到底代表什么。2、使用第三方的库或者框架,查看注释或者文档;
作为一个程序员,用第三方优秀开源的东西那是必须的技能,这能节省大量的时间,还能确保功能更稳定,比起自己写,好处太多了。但是,要想把第三方的东西拿过来自己用,我们必须确保自己完全了解它才行,这时候,唯一的途径就是看文档,看注释。
虽然说现在一些我们经常用的开源项目都有中文的文档,也能找到不少中文使用的用例,这能让我们对英文的依赖有所降低,但是,也有没有中文文档的,而且有时候,即使有中文的文档,可能也会有不准确的地方,这时候英文达标最好,当然,如果不达标,我们也可以使用翻译工具,既然是程序员,理解能力不会太差,有时候只是查了临门一脚而已。
3、编程语言自有名词等;
for、foreach、if、DIR等等,程序员应该都熟悉,没错,每个语言从出生都会自带这样一些功能描述、超级变量等,这些,作为一个程序员是必须知道的,这些也是英文,我们不光要能理解,还要会用。
但是,就和英文的关系来说,真的不大,所有的语言用到这些单词估计加起来也没有你初中一年级学到的英文单词多。
4、开发工具或调试工具的日志,错误输出等;
在开发系统的时候,我们会用到一些编程工具软件,或者调试软件,甚至于我们用到一些开源的框架的时候,也会有类似的英文反馈,比如xxxisnotdefined这样的js错误,是前端经常会遇到的,如果你的代码写的足够烂,估计你能把所有的错误提示都在控制台打印出来,因为js常见的错误类型也就六种而已,这种错误也没有用到多少英文。
所以,如果你对编程很感兴趣,因为英文没有过四六级就放弃,那大可不必,即使是你只有四级四分之一的水平,你也能成为一个优秀的程序员。当然,如果你已经是程序员,那么,简单地学习一些英语还是能提高自己身价的,微软谷歌每年都招聘,运气好说不定你还能进外企。