在线咨询
有事点这里
有事点这里
看不懂这篇文章?联系我们
("麦洛克菲"长期致力于内核安全的推广与普及,我们更专业!)
求职QQ群:223902435。讨论各种求职笔试面试问题
作者:admin 时间:2015-10-31
标题:程序员为什么要学好英语?
有一句话说得好:英语是计算机的母语,是程序的母语,所以必然是程序员的母语。大家知道,计算机诞生于英语为母语的国家。这就注定了,计算机与英语是分不开的。英语能力对于计算机程序设计的学习无疑是非常重要的。比如: 阅读计算机原版技术书籍,MSDN帮助文档, 专业技术领域外文文档,专业技术领域最新技术进展,搜索引擎网络资料,计算机英文技术网站,世界开源社区,代码中良好的变量与函数命名以达到代码的自解释性, 甚至面试外企职位都需要一定的英语水平。英语不好,学习编程会受到很大的影响。所以,在学习程序设计的同时,提高自己的英语水平是必须的。那么,英语水平对于计算机编程有哪些影响呢?

程序设计里面的语言是以英语的形式存在的。其中就有很多关键字。更重要的是,写程序时候的变量起名也很讲究。用英文单词或者缩写起名字的可读性要比使用拼音的可读性强得多。能起可读性强的英语变量名字,是写程序的一个重要的方面。新生的小孩的父母为他取名会费劲心血,而程序员为变量取个可读性好的名字,也很重要。

程序中的变量名、函数名起得好不好是决定代码质量和可维护性的最关键因素。高质量的代码应该是这样的:代码基本上是自解释的(self-explanatory),不需要太多注释,不管代码的规模有多大,具有相关知识背景的读过文档的人都可以立刻上手、立刻参与维护和开发。要想使代码能够自解释,给变量和函数起个好名字很关键,很显然,只能用英文起名字,一是用汉语拼音起名字可读性很差,二是英文单词通常比汉语更expressive(看吧,如果用汉语来说,就得说“表达能力更强”、“更有表现力”这么罗嗦),由于程序的复杂性,变量和函数往往表示一些很抽象的概念,起个既准确又简洁的名字并不容易,可是很多时候,用汉语需要很多字才能说清楚的一件事,用英文一个单词再加点词形变化就能说清楚了。

另外,大量的技术首先是通过英文技术书出版的。因此,想要第一时间获得新技术,就得首先要会英语,能够阅读英语技术书籍。虽然很多经典的英语书籍翻译成了中文,但是也并不是所有书籍能被翻译成中文的。而且中译本的质量也可能参差不齐。当然,如果有好的中文译本,建议也可以直接看中文,以提高学习效率。

除了大量的技术书籍之外,更多的技术文档,手册,以及Windows开发的技术参考MSDN都是用英语表述的。如果说书籍有人去专门翻译,那么这些技术文档也许就很难有人为你翻译了。你只能和英语面对面,去啃这些技术文档。甚至有的论坛里对一个问题的解决也是通过英语来讨论的。要想理解其中的解决方法,你也得会英语才能读懂。

其次,与计算机相关的很多问题,首先可以利用搜索引擎去解决。你遇到的每一个问题,都不可能是第一个遇到的,没准网上就有了现成的解决方案。所以,遇到问题,第一就是要会利用搜索引擎去解决问题。由于计算机是一门西方引入的科学,因此,有的问题在使用搜索关键词的时候,如果用中文很难搜到,没准使用对应的英文作为关键词,就很快能搜到相应的问题答案。因此,学会英语,对于使用用英文去向搜索引擎寻找答案也具有很大的优势。

既然英语这么重要,那么很多人可能就会比较着急的要问了,究竟要多好的英语才能有资格学习程序设计呢?英语不好难道就不能学习程序设计了呢?大家知道,英语能力分为听说读写这四项技能。而在计算机程序设计领域里,读最重要,写次之,说和听对程序设计并无太大的关联,除非你要进一个外企工作,必须与老外用英语交流。程序员需要使用英语阅读大量的文档资料,需要用英语来写程序,写注释等。因此,平常通俗的被大家所批判的哑巴英语,在程序设计里面,依然可以有用武之地,只要你会读会写,就不会影响大家。

实际上,高中英语的水平,就不会影响你进一步使用计算机相关的英语了。因为,高中之后,英语的语法基本上都涉及了,唯一需要补充的就是大家的英语词汇问题了。

那么,如果英语很差,怎么提高自己的英语水平呢?这要取决自己在英语的哪块比较欠缺。如果语法比较差,那么请尽快找本讲语法的书籍,恶补一下英语语法。如果语法没什么问题了,那么请通过大量阅读来提高自己的词汇量和语感。笔者在大学学英语的时候,就明白了学习英语的最好的途径就是大量的阅读,并记住那些遇到的生词。有人建议在阅读过程中,遇到生词就放过。笔者持相反的观点。遇到生词,都应该去查词典,然后记住它,这样就能快速的提高自己的词汇量。