英语不好当程序员英语自我介绍有没

英语中一个单词可能有很多不同的意思。很多中国开发者外语本来就不好,概念是往往先入为主。甚至在不清楚一般意义的情况下,先记住了特定环境中的意思。
普通人眼中
开发者眼中
per-for-mance
自动取款机
异步传输模式
甲骨文公司
一种 web session 机制
Google 出的 VR 设备
python编程语言
一种 servlet 引擎
一种 servlet 引擎
一种前端 MVC 框架
阿帕奇直升机
一种Web服务器
ruby编程语言
爪哇(地点)、爪哇咖啡
java编程语言
处理、过程
计算机进程
路线、通道
位置、地点
计算机线程
撞碎、坠毁
防火墙(实体)
网络防火墙
安装虚拟机程序的主机
host 上的虚拟机
伐木、记录
程序连接的管道
班长、显示器
接近; 入口
存取、访问
一种文件系统
木马(计算机病毒)
命令行交互界面
postscript
附言、后记
一种打印编程语言
计划、项目
计算机程序
带夹子的写字板(实体)
计算机中的剪切板
主人、硕士
小包、小盒子
图像、形象
代码仓库堆分支
派生项目(git)
框架、边框
谷歌开发者社区
一种 Web 组件库
一种编程语言
subversion
一种版本控制系统
类似的应该还有不少。这些词对有特定的含义,特别是对我们这些平时只生活在中文环境中的人。欢迎留言补充!
在文章中找不到问题答案?您还可以
热门栏目订阅中国领先的IT技术网站
51CTO旗下网站
程序员为什么不能只学好“专业英语”?
在我上大学的时候,除去普通的英语课程,专业课程里还有一门《计算机英语》。当时大家的普遍认为,普通的“英语”是过四六级用的,《计算机英语》才是专业真正需要的。
作者:来源:OPEN资讯| 15:47
在我上大学的时候,除去普通的英语课程,专业课程里还有一门《计算机英语》。当时大家的普遍认为,普通的&英语&是过四六级用的,《计算机英语》才是专业真正需要的。
等到工作了,我发现很多人都持这样的观点:程序员应该学好英语。这样才能方便地查找资料,迅速地学习最新的知识。换句话说,&学好英语&在很多
人看来,就是是&学好专业英语&&&这项要求已经很高了,我曾经在《程序员要怎样学英语》里提到,不但要能看懂文档,还要知道&黑屏&是 blank
screen,&死机&是 system halt,否则查找就会很费力。
但是今天我想强调的是,对程序员来说,学好&英语&而不是&专业英语&是非常重要的。只学好专业英语,看得了技术文档,但那一大堆专业术语和概
念可能会像陨石一样,没来由地坠落下来,只能生吞活剥地硬背。如果学好英语,你才会有融会贯通的感觉,知道那些术语和概念原来是从地里长出来的,底下连着
程序员经常被认为是呆头呆脑的古怪家伙,讲一口外人听不懂的语言,其实技术世界里的很多术语都是从生活经验中借鉴而来,是非常形象而有趣的。可
惜,这些意味和趣味无法通过翻译传递,也很难在硬邦邦地研读时体会到。所以如果你只看中文资料,或者以学习&专业英语&的态度来对待,即便能记住,也只能
硬背下来。天长日久,&古怪&的感觉也就油然而生了。
比如说 cache 和
buffer,这两个英文单词是完全不一样的,但中文分别翻译为&缓存&和&缓冲&,看起来非常像,很多人确实会搞混(不要吃惊,我的面试经历已经证明
了)。分得清的人都知道,&缓存&是 cache,&缓冲&是
buffer,不过其中还有些麻烦,因为&缓存&很多时候是用于读取的,&缓冲&很多时候是用于写入的。为避免混淆,很多人干脆放弃中文直接说英文,这确
实是一种有效的办法,但是 cache 和 buffer 到底是什么意思呢,它们是天上掉下来的,还是地里长出来的?答案是后者。
cache 在&缓存&的含义诞生之前就存在了,意思是 a secret place of
storage,也就是&用于存放物品的隐蔽区域&,比如动物贮存食物的地方,或者人类埋藏金币的秘穴。所以用 cache
来命名计算机中的&缓存&是非常恰当的:cache
把数据存储起来加快读取,而且它必须是隐蔽的。我已经见过无数程序员写的不透明缓存了,这种&缓存&必须改动主线业务,使用和维护都异常麻烦,如果程序员
多懂一点英文,知道 cache 原本的意思,问题会少很多吧。
buffer 也是这样,它原本的意思是 devices or pieces of material for reducing shock
or damage due to
contact,也就是&用来减少接触时产生的震荡或损坏的装置或材料&,比如为了用于逃生的气垫,或者汽车上用的减震器。用 buffer
来命名计算机中的&缓冲&也是非常巧妙的:buffer
用来解决两种设备在数据交互时的数据丢失(或者阻塞等待)的问题。我读大学的时候,老师特意强调&缓冲是用来解决速度不匹配的问题&,让大家印象深刻。但
是如果大家多懂一点英文,知道 buffer 原本的意思,估计不用老师强调自己也能理解了。
再比如 serialize 和 flatten,这两个单词 Java
程序员都熟悉,其它程序员也不会陌生。前者是&序列化&或者&串行化&嘛;后者,嗯,有些人翻译为&扁平化&,还有些人干脆不翻译,就叫 flatten
好了。总之,这两个词都比较难记忆,给其他人解释的时候也很麻烦。
文档里是这么描述 serialize 的:the object can be flattened into bytes and
subsequently inflated in the future。不妨看看 flat 和 serial 原本的意思。flatten
的意思是&打扁、推倒&,serial
的意思是&无间隔的规律摆放&。这样看来,整个描述是非常形象了:&序列化&指的是把对象拆散成一堆紧密码放好的字节(也就是字节数组啦),之后还能组装
起来。有很多人纠结 serialize 到底是&序列化&还是&串行化&,如果你懂得 seralize 和 flatten
的真正意思就会知道,&序列化&还是&串行化&都不合适,但是,也无所谓。
没错,程序员面对的是机器和科技,但这并不意味着他们的工作就没有任何乐趣,就需要硬生生造出很多&天外飞仙&一般的术语。恰恰相反,许多技术
术语都像庄稼一样,把生活经验当成诞生的土壤,所以显得非常生动形象。如果程序员的母语是英语,他看到 cache, buffer,
serialize, flatten
之类的单词,虽然也要学习其专业含义,但有背景知识和生活经验可以借鉴,所以&背靠大树好乘凉&。但如果程序员的母语是中文,英文又不够好,就没有这种优
势,那些专业术语就像陨石雨一样难以理解和应付,只能生吞活剥,麻烦不说,久而久之也容易变得无趣。
有人说,好的翻译可以解决这种问题。一定程度上来说确实如此,比如董乐山先生当年翻译的&导弹&,朗朗上口又生动形象,大家一听都明白。可惜如
今这样用心的翻译家已经太少了,加上新单词出现太快,翻译的速度根本跟不上。所以对程序员来说,真正的出路还在于自己,不要自我束缚在&专业英语&的世界
里,而是要认真完整地学英语,了解英文单词本来的意思,真正懂得用英语思考和理解世界,才能收获融会贯通的效果。
当然,这个道理反过来也是成立的,还记得前不久被关掉的&曲径&吗?它的命名和 cache, buffer, serialize 等等一样,其中的逻辑&不足为外人道也&,老外程序员如果只懂中文技术资料,看到这个名字多半也要挠头瞪眼了。
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
外电热点热点热点外电
24H热文一周话题本月最赞
讲师:1人学习过
讲师:27人学习过
讲师:0人学习过
精选博文论坛热帖下载排行
本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。
本书从最基础的编程语言概念讲起,共分6篇24章。前4篇完整...
订阅51CTO邮刊

我要回帖

更多关于 程序员英语自我介绍 的文章

 

随机推荐