当前位置:2019年全年资料内部公开 > 缺陷跳越 >

程序用英语怎么说

  以前有个意大利的朋友,他怀着环游世界的梦想来到中国,在上海靠教小朋友英语挣点旅游经费,因缘际会一起去香港玩,在香港的太 平山顶的山道上散步,天南海北地聊天。现在想想当时的画面应该很奇怪,一个带着南欧口音的意大利人和一个中式口音的中国人在用英语谈着人生和理想。偶然间 聊到了中国的英语教育,于是有了如下的对话:

  Startup是一个专门介绍创业公司成长历程和背后故事的播客,很多是和互联网创业相关的。记得上一季介绍过一个视频直播的创业公司,情节引人入胜。分季播出,不定期换季,每季集数不固定。Reply All的主旨是听众给他们发邮件提问题,如果是有调查价值的,他们会深入调查,然后做成节目。大部分内容都是互联网相关的,如有一集讲到一个人的域名不小心过期了没续费,被别人抢注,然后节目组帮他们找回的故事,揭露了域名黑产。每周更新,但会不定期停更。

  其中一个主持人已经退休的父亲在家无聊写了一本小说叫「Belinda Blinked」,并没有卖出去多少,于是他就拿来做了一个读书的播客。没想到忽然火了,小说也相应地在亚马逊上卖的很好。不过,第二季变得像魔幻小说 了,在主持人的讲解下听起来更好笑。拿来消遣很好,同时也可以学到很多在平时的英语学习中看不到的很sexy的说法,比如赞美一个女生「You have a pair of beautiful thigh lines」。片头语大家感受一下:

  之前一个老外朋友推荐过一本书叫「The Alchemist」,说是改变了他的一生,推荐我去读一读。并特别嘱咐,因为这本书最开始是以葡萄牙语写的,如果看中文版可能会丢失很多细节,看英文版 必定也会丢失一些,但肯定会比中文版好一些。于是我就试着在Kindle上读一读,意外发现「读英文书」这件事可以带来了一个意想不到的效果——治疗失眠 ——这本书本身就很晦涩难懂,还有一堆的生词,边看边查生词,一会儿就睁不开眼了。

  关于「说英语」,老实说,如果你没有一个需要口说英语的环境,是很难把「说」练好的。以前又个室友是英国人,刚搬进去时我要问他路由器的密码是多 少,组织了好久语言(其实就是一句很简单的Do you know what the password of the router is? ),说出来的还是磕磕绊绊。令我印象最深刻的是,刚开始比较经常地说英语,对于人称代词的使用错得简直一塌糊涂。如果你让我去做选择题,一点问题都没有,但实际对话起来,he/his/him/she/her经常搞混,不过倒是不影响沟通,只是自己感慨,学了这么久英语,考试也是要跟外教对话,但实际用起来还是漏洞百出。

  日常口语词汇(Vocabulary)词汇量是英语学习者永远的痛,不同的交谈内容需要的词汇也是天差地别的。这个方面没有捷径,如果你不想或者不能死记硬背,那就只能通过大量的练习来 储备更多的词汇。比如我们如果是工作上和老外交谈是不会跟他们谈论做饭的细节,所以像茄子是Eggplant、中式的炒锅可以用Wok表达,Knife和 Chopper分别代表的意义等是很难了解到的。你跟一个不是CS专业的老外谈「Encapsulation、Inheritence、 Polymophism、Data Struction、High Availability」,他可能也一脸懵逼。常用句型的发音有个朋友的一个口头禅是「What are you gonna do about it?」(边摊手边说),这是一句很简单的话,但是要根据语境快速的说出来还是要多练习才能达到,比如哪个音该失去爆破,哪个单词要长读,哪个单词要短 读,都是要有语感才行。当然你说我不在乎发音,只要能说出来就行,那么这条可忽略。特定句式的表达方式这方面就更散了,比如一个老外跟你说「Yeah, Tell me about it」,其实不是让你仔细给他讲述一件事;你如果跟一个英国人说「wait me for a couple of minutes」,他可能线分钟」;「Would」在口语交谈中真的很有用,「would like to」这种组合要多练;外国人夸衣服好看是真的会说「it suits your eyes」。再比如从句的使用,有些意思用从句表达会更精确,不要以为从句只会出现在书面上。语感语感说白了就是说话的习惯,而习惯必须通过实践来养成。

  我们都知道现在互联网的不断兴起,软件的一个个推行,特别是现在智能手机的不断普及。同时也有很多软件的发行,像当下比较主流的微信、抖音、滴滴出行、支付宝等等软件,这些都是需要程序员进行编程才能开发出来的功能。程序员在很多人眼中就是非常厉害的,很多人甚至都想到了黑客,正规的程序员叫做“程序猿”,而技术高超却做着不合法的程序员叫做“黑客”,这两个是有区别的。

  我们现在市场上大概分为两种手机,一种是安卓手机、一种是苹果手机。同时就有着Android系统以及iOS系统,相信很多人可能还会说有诺基亚的塞班系统,但是诺基亚现在已经退出了手机市场,我们现在几乎很少能够再见到诺基亚了。那么不管是Android系统还是iOS系统,都是选择用英文当做编程语言呢?为什么中文不能用来做编程,而英文却可以?不妨听下程序员怎么说。

  首先通过咨询资深的程序员学长得知,编程最早起源于美国,美国人所使用的语言是英文,英文相对于我们汉语来说也会比较容易学。为了能够和国际接轨,大多数的程序都是使用英文开发。英文一个字母是一个字节,而中文一个字就是两个字节,在软件开发过程中,一定要考虑到程序的运行以及安装包。如果开发出来的软件非常大的话,这样也是不利于用户的安装体验的。

  其次英文的是由字母拼凑组成的,相对来说比较简单,而我们中文是由拼音组成的,这个是有很大的区别的。比方来说我们打英文的“string”,这个在程序里面代表的是字符串的意思,而我们输入拼音“string”就会出来“身体”、“伤胎”、“上调”等等,我们的中文博大精深,打个简单的拼音都会有好多个同音字的出现,这个在开发程序中,会浪费非常多的时间。我们都知道开发一个程序是有一定的周期的,一定会用最快的时间来完成的。

  这就体现了英文作为编程语言的优势:利于编译器分词。英文写的时候是每个单词之间都有一个空格,所以编译器在分词(找出关键词、变量名等存在符号表里)的时候直接按空格分就可以了。中文的分词一直都很困难,搜索引擎处理中文搜索的时候也要做很多工作,因为它更多的是依据语义来分。举个牵强点的例子,假如有这样一个句子:“犹如果实一般”,对机器而言,是要分成“犹”、“如果”、“实”呢,还是分成“犹如”、“果实”?所以英文还是比较方便的。

  最后,就我个人而言,我在编程的时候总会感觉到一些情况下用英文能更准确的表达意思。中文的一个词语,在英文里往往对应了多个单词,而这些单词有着独特的语境。比如英文的push,shift,insert,它们都代表往一个数组里加入元素,但是分别代表在最后压入、在最后加入一个、在任意某个位置插入一个。这里只是举个例子,我经常能感觉到,如果这些专业的单词用得准确的话,往往一眼就能知道这段程序在干什么,不需要再去看细节。所以我觉得最后一个原因是,虽然英文的编程语言各有不同,但是大家已经形成了一种约定,什么样的词该表达什么样的意思。这种阅读与写程序时的易读、易用与准确性也是吸引程序员的一个原因吧。

  一般来说,程序员可算是英语水平比较好的群体,因为在这个行业,英文资料是最全面、最及时,对英文资料的需求也最迫切的。就我观察,刚入门不久的程序员一般都能查阅英文文档,找到需要的信息。但是另一方面,我也发现,经常阅读英文文档的程序员,英语水平许多时候却不像“经常阅读英文”的样子。所以我在这里列几点自己的学习心得,供大家参考。

  既要看代码,也要读文档。读文档只读代码,是很多程序员的习惯,也是导致程序员虽然读了很多英文资料,英文水平却没有相应提高的原因之一。以前曾在《程序员》上看到介绍阅读技术图书方法的文章,提出过“先代码后文字”的方法,也就是“先看代码,看不明白再看文字”。这种阅读法能极大提高阅读效率,但如果技术图书只看代码就足够,还要文字干什么呢?很多时候,代码只是冰山一角,代码背后的思维和逻辑才是真正的重头戏,只有写成文字才能解释,也只有阅读文字才能理解。举个例子吧,两段代码都是x=5;看起来没差别,但一段的文字说明是“xshouldbenotmorethanfive”,另一段的文字说明是“xshouldbenomorethanfive”。不查词典,你能弄清楚两种说法的区别吗——前者是“x必须小于等于5”,后者是“x应当只有5”,光看代码估计很难意识到这些。近年来,有越来越多的技术人员投身译介活动,这本来是一件好事,但如果平时只看代码,英文阅读能力不过关,反而会造成更多的困扰。经常有希望翻译技术文档的程序员来找我讨论翻译问题,希望了解一些句子应该如何表达。一开始我也认为这是中文表达的问题,但后来逐渐发现,其实更多的问题出在英文阅读上,所以我的回答经常是:你觉得作者这里说的是什么意思?引导对方把原文的意思逐步表达出来,其实这时候,真正的译文已经浮出水面了。最近的例子来自这句话:Butaswithanyweb-basedsystem,atom-basedsolutionstradelatencyforscalability,makingatomofteninappropriateforverylow-latencynotifications.这句话之所以难翻译,问题似乎在于,除去句子的主干,之前有一个Butas…,之后又有一个making…。然而我最后发现,对这个句子有疑问的程序员其实根本没搞懂trade…for…的用法(翻译为“基于atom的解决方案需要权衡延迟性和扩展性”),如果明白它是“牺牲xx换取xx”之后,整个句子就相当好理解,也非常容易翻译了:与所有基于web的系统一样,基于atom的解决方案为追求可扩展性,增大了延迟,所以atom往往并不合适用对延迟要求极低的提示。要避免出现这个问题,首先要做的是改变“只看代码不看文字”的习惯,或者至少要做到“阅读文字之后,能明白它的意思与代码是一致的”;另一个有效的办法是通过阅读纯文字的英文资料来学习某些新的知识(比如关于原理的细致讲解),这个方法我推荐给许多朋友,非常有效。注意读音。以前总听人说,中国人学了很多年英语,其实是哑巴英语。不知道现在的情况有多少改观,但就我所见,不少程序员虽然阅读了大量英文资料,也会加入英文的讨论组,也敢开口说,但是还会在读音上出现许多问题。这里说的“读音”其实不是字正腔圆的口音,而是一些术语的读音。计算机科学的术语来源非常广泛。比如设计模式里,有一种模式叫Facade,许多人往往直接读作’fkɑ:d,其实这个词来自法文,正确的读音其实是f’sɑ:d;再比如“伪”代码的pseudo,正确的读音是’su:d,但是我很少遇到能把它读对的程序员,许多人干脆不会发这个音。也许有人说,这些问题不重要,大家“将错就错”,约定俗成就好了,但事情没有这么简单。以前我参加技术聚会,有位嘉宾(技术高手)把框架名chameleon(变色龙)读成了’tmiljn,而正确的读音是k’miljn,因为没有文字资料,许多人听了半天才知道他说的是什么,一些不熟悉chameleon的听众更是到结束也没明白。中国人聚会尚且如此,如果有机会参加中外技术交流,读错造成的问题就更大了。解决这个问题有一个非常好的办法,就是学习美国大学的公开课,耶鲁、斯坦福等学校的计算机系都放出了许多高质量的公开课,国内也有非常好的翻译,学习其中的精品课程,不但能夯实基础,还能顺带学会许多每天都要遇到,但不会或者读错的术语。锻炼英文表达。如果你背过单词,大概听到过“被动单词”和“主动单词”的说法,前者是指“看到了能认出来”的单词,后者指“表达时能主动应用”的单词。就我的观察,许多程序员掌握的大多数英语,都属于“被动英语”——看到了能认识,但要表达同样的意思,未必说得出来。初看起来这样似乎没有问题,可是查阅资料时,不会表达就成了大的障碍。相比中文技术资料世界中“无责任/不负责转贴”泛滥的情况,英文技术资料的质量要高得多,Google搜索资料的准确性也远高于百度;但是,要能够顺利应用英文资料,需要“主动”输入信息,描述问题,这时候“被动英语”就成了大问题。我自己多次遇到过这样的情况:即便答案近在咫尺(输入正确的关键词,Google的第一条结果就是答案),但程序员就是一筹莫展——因为他不知道计算机的“嘟嘟”声是beep,不知道搜“并发”资料应该用concurrency,也不知道“死机”是systemhalt,“黑屏”是blankscreen,“(登录时)不停跳转”是infiniteloop……要解决这个问题,最好的办法是在阅读资料时多用心,记住这些说法;另一方面,没事的时候多浏览stackoverflow之类的网站,不要因为问题与自己无关而忽略,多留心这些问题到底是什么,注意人家是如何表达的。只有经过这样的锻炼,才能在自己遇到问题时迅速找到可能的解决方案,节省时间。

  有人说,以汉语为母语的程序员,学习英语已经是迫不得已,不但要会阅读,还要会读、会表达,真是难上加难。这种说法有一定道理,但是在目前并没有更好的解决方案,学会阅读、认准读音、锻炼表达,确实可以给自己带来好处。长远来看,要改变这种情况,需要中文技术圈的所有人员努力贡献高质量的资料(原创和翻译都可以),如果只是“无责任转贴”,既不亲自验证,也不整理格式,中文技术资料的整体质量只会持续恶化,反向逼迫更多的人把英语学好。

  其实这个问题也不难回答,回答这个问题之前,就得先介绍一下计算机,计算机它是由英语进行编程的,而且现在英语也是世界上最广泛的一种使用语言,他由26个英文字母组成,26个英文字母也是非常通俗,而且很容易记的,再有就是计算机,它是只认识二进制的方式,也就是说计算机它本身只能是识别零和一,在其他数字还有英文它并不能识别。

  也是为了方便记忆,就诞生了由英语而编写的记忆编程语言,现在都有汇编、C、C++、JAVA、C#、php等,那么这些语言都是怎么变成的呢?其实他们就是把编程的语言翻译成二进制的字符。从以上的回答中也能看出,汉语它也能作为计算机的语言,但是要想使用中文的编程,那就得使用很大的成本,并且代价也是很高的。

  首先来说,我们中国的计算机,它的技术发展是非常晚的,在国际上并没有什么话语权,如果没有特别大的利益,也都没有人去做。而且说实话,多一套中文的编程,其实是很简单,但是它的范围确实很大了,做一个工程也不是说一天两天就能完成的,不是你们想象的那么简单。这也让不少网友开始讨论起来,有的人认为,英文的记忆空间,它其实就是自己,如果说利用中文编程的话,它消耗的时间是非常大的。

  其实不论是英文还是中文,还是用起来都不给节省空间,相反的,它占用的空间确实更大,大多数的网友也都一致支持,中文是可以并存的,但是有没有必要实现中文编程,这也是一个问题。为什么只能用英语编程?中文编程效果会怎么样?打开脑洞想象一下!另一个方面也体现出了一个新的问题,那就是,为什么我们国内的网友现在都开始热衷于中文的操作系统,还有编程呢?

  这其实完全是因为民族的自尊心,现在中国日益发达,不仅在国际上的影响力甚重,而且大到小事小到大事都有我们的存在,对于编程来说,这也是很多程序员所期盼的一个问题,如果说能用自己汉字的编程那就是,非常自豪的。最后小编想问一个问题,中国以后能够有自己成熟的编程吗?答案是有的,但是这是需要一定过程的,相信以后中国的技术将会超越国外,以上就是小编的解答了,你们知道为什么不用中文编程了吗?

  我们是不是都对编写程序的专业人员怀揣着敬畏的态度呢?他们是怎么做到的呢?而且所有的程序一般都是利用英文来编辑的,我们从来没有见到过使用汉语编辑的程序,这是为什么呢?事实上,如果使用汉语编写程序是现在不能做到的,未来有没有可能也很难说,汉语到底为何不能用来编写程序?英语在这方面存在什么优势,我们通过专业的编辑人员的回答,就可以揭秘我们所存在的疑惑,下面我们就一起来了解一下吧。

  小编特地去询问了我家的亲戚,他是在方面的专业人员,他主要是这样对我解释的。第一个困难就是字符方面的问题,我们的汉字与英文代表的含义是不同的,这样是不方便统计的,并且我们的文字个数很多,与英语相比数量多了很多,英文数量少更容易编辑。还有就是我们的文字对于其他国家的人来说是不容易学习的,英文的难度相对小一些。还有一点就是刚开始就是使用英文来创造的,人们已经习惯了,一时间让他去改变也是不容易的,程序的编辑最强的地区就是美国硅谷,很多的程序就是在那里传过来的,在那里使用的语言是英语,并且已经根深蒂固了。

  编写程序最初的是利用阿拉伯数学来完成的,字符主要是使用0与1,而且0才是开头,是第一个符号,这方面我们普遍存在误解。这也主要是由于习惯而形成的,我们必须明白编写程序可以使用多种语言,不过从根本上看还是利用英语的。若是特殊情况必须使用汉字,也是需要特殊处理的,比如说用符号做个标记。一旦系统发现了这个标记,就会知道这里是使用了汉字,不会计入总的字符,这就避免出现错误。标记可以分为很多种,每个人都有每个人的习惯,我们就不一一总结了。为什么程序员编程一般都要用英文而不用中文?听听内行人怎么说!

  还有一点就是英语有其含义,人们已经习惯使用它们了,暂时想不到什么其他好的汉字来代替它们,就算找到了也很难让所有的程序员接受。我们的汉字文化源远流长,同时也是推出了两款使用汉字来写程序的软件,它们分别是易语言、易安卓,如果不使用这两个软件而在编写程序时输入汉字,那么结局通常是出现错误,已经是存在很长时间的现象了。这就是程序员给出的答案,小伙伴们现在了解了吧?看来汉字未来能不能成为普遍接受的程序语言还是一个难题,将来会不会得到解决呢?

  英语对提升软件开发水平是十分重要的。虽然你的英文水平不高,这并不阻碍你成为一个普通的程序员,程序需要更多的是逻辑思维。但是如果做了很多年开发的你发现自己水平一直无法进步上升,成都暮光时代科技有限公司认为你可能要提高自己的英文水平了,英语就是你技术的一个瓶颈,对有些人来说也许是硬伤。英语是世界上使用最广泛的语言之一,也是欧盟、许多国际组织与英联邦国家的官方语言之一。如今英语也是与电脑联系最密切的语言,大多数编程语言都与英语有关系。英语在软件行业、编程世界里都占有压倒性的优势,它能够帮助人们在关键词和代码库的选择上带来灵感。根据HOPL编程语言在线种以上的编程语言,大概2400种起源于美国,600种是在英国发展起来的,160种是来自加拿大的,75种是在澳大利亚发展起来的。换句话说,世界上三分之一以上的编程语言是在以英语为母语的国家发展起来的。可见,英语在编程语言里是多么的重要。

  在日常中大量阅读英文书籍和资料是提高计算机英语水平的最佳途径。目前市场上大量的计算机原版影印图书为我们提供绝好的机会,阅读英文计算机图书一开始是啃的感觉,比较费时费力,对于英文基础不是很好的人来说应该是相当艰苦的,但是我们要去做,对于不太好的地方,不妨拿起笔来逐行逐字的翻译出来,这对英语水平的提高很有帮助 。

  一般程序的语法是很固定的,用到的单词,也就那么几个,但起变量名除外,虽然原则上,变量名的命名要规范,但理论上,只要你愿意,你的变量名叫阿猫阿狗都行。稍微解释一下什么是变量名。可以这么理解,变量是一个水杯,变量名为杯子的代号,变量类型为杯子的型号,变量值为杯中的液体,可以是水、酒、果汁等等。说白了,就是一个名字。

http://boardflip.com/quexiantiaoyue/384.html
点击次数:??更新时间2019-07-09??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】