自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員為什么不能只學(xué)好“專業(yè)英語(yǔ)”?

開(kāi)發(fā) 后端 前端
在我上大學(xué)的時(shí)候,除去普通的英語(yǔ)課程,專業(yè)課程里還有一門《計(jì)算機(jī)英語(yǔ)》。當(dāng)時(shí)大家的普遍認(rèn)為,普通的“英語(yǔ)”是過(guò)四六級(jí)用的,《計(jì)算機(jī)英語(yǔ)》才是專業(yè)真正需要的。

程序員為什么不能只學(xué)好“專業(yè)英語(yǔ)”?

文/余晟

在我上大學(xué)的時(shí)候,除去普通的英語(yǔ)課程,專業(yè)課程里還有一門《計(jì)算機(jī)英語(yǔ)》。當(dāng)時(shí)大家的普遍認(rèn)為,普通的“英語(yǔ)”是過(guò)四六級(jí)用的,《計(jì)算機(jī)英語(yǔ)》才是專業(yè)真正需要的。

等到工作了,我發(fā)現(xiàn)很多人都持這樣的觀點(diǎn):程序員應(yīng)該學(xué)好英語(yǔ)。這樣才能方便地查找資料,迅速地學(xué)習(xí)最新的知識(shí)。換句話說(shuō),“學(xué)好英語(yǔ)”在很多 人看來(lái),就是是“學(xué)好專業(yè)英語(yǔ)”——這項(xiàng)要求已經(jīng)很高了,我曾經(jīng)在《程序員要怎樣學(xué)英語(yǔ)》里提到,不但要能看懂文檔,還要知道“黑屏”是 blank screen,“死機(jī)”是 system halt,否則查找就會(huì)很費(fèi)力。

但是今天我想強(qiáng)調(diào)的是,對(duì)程序員來(lái)說(shuō),學(xué)好“英語(yǔ)”而不是“專業(yè)英語(yǔ)”是非常重要的。只學(xué)好專業(yè)英語(yǔ),看得了技術(shù)文檔,但那一大堆專業(yè)術(shù)語(yǔ)和概 念可能會(huì)像隕石一樣,沒(méi)來(lái)由地墜落下來(lái),只能生吞活剝地硬背。如果學(xué)好英語(yǔ),你才會(huì)有融會(huì)貫通的感覺(jué),知道那些術(shù)語(yǔ)和概念原來(lái)是從地里長(zhǎng)出來(lái)的,底下連著 根莖。

程序員經(jīng)常被認(rèn)為是呆頭呆腦的古怪家伙,講一口外人聽(tīng)不懂的語(yǔ)言,其實(shí)技術(shù)世界里的很多術(shù)語(yǔ)都是從生活經(jīng)驗(yàn)中借鑒而來(lái),是非常形象而有趣的??? 惜,這些意味和趣味無(wú)法通過(guò)翻譯傳遞,也很難在硬邦邦地研讀時(shí)體會(huì)到。所以如果你只看中文資料,或者以學(xué)習(xí)“專業(yè)英語(yǔ)”的態(tài)度來(lái)對(duì)待,即便能記住,也只能 硬背下來(lái)。天長(zhǎng)日久,“古怪”的感覺(jué)也就油然而生了。

比如說(shuō) cache 和 buffer,這兩個(gè)英文單詞是完全不一樣的,但中文分別翻譯為“緩存”和“緩沖”,看起來(lái)非常像,很多人確實(shí)會(huì)搞混(不要吃驚,我的面試經(jīng)歷已經(jīng)證明 了)。分得清的人都知道,“緩存”是 cache,“緩沖”是 buffer,不過(guò)其中還有些麻煩,因?yàn)?ldquo;緩存”很多時(shí)候是用于讀取的,“緩沖”很多時(shí)候是用于寫入的。為避免混淆,很多人干脆放棄中文直接說(shuō)英文,這確 實(shí)是一種有效的辦法,但是 cache 和 buffer 到底是什么意思呢,它們是天上掉下來(lái)的,還是地里長(zhǎng)出來(lái)的?答案是后者。

cache 在“緩存”的含義誕生之前就存在了,意思是 a secret place of storage,也就是“用于存放物品的隱蔽區(qū)域”,比如動(dòng)物貯存食物的地方,或者人類埋藏金幣的秘穴。所以用 cache 來(lái)命名計(jì)算機(jī)中的“緩存”是非常恰當(dāng)?shù)模篶ache 把數(shù)據(jù)存儲(chǔ)起來(lái)加快讀取,而且它必須是隱蔽的。我已經(jīng)見(jiàn)過(guò)無(wú)數(shù)程序員寫的不透明緩存了,這種“緩存”必須改動(dòng)主線業(yè)務(wù),使用和維護(hù)都異常麻煩,如果程序員 多懂一點(diǎn)英文,知道 cache 原本的意思,問(wèn)題會(huì)少很多吧。

buffer 也是這樣,它原本的意思是 devices or pieces of material for reducing shock or damage due to contact,也就是“用來(lái)減少接觸時(shí)產(chǎn)生的震蕩或損壞的裝置或材料”,比如為了用于逃生的氣墊,或者汽車上用的減震器。用 buffer 來(lái)命名計(jì)算機(jī)中的“緩沖”也是非常巧妙的:buffer 用來(lái)解決兩種設(shè)備在數(shù)據(jù)交互時(shí)的數(shù)據(jù)丟失(或者阻塞等待)的問(wèn)題。我讀大學(xué)的時(shí)候,老師特意強(qiáng)調(diào)“緩沖是用來(lái)解決速度不匹配的問(wèn)題”,讓大家印象深刻。但 是如果大家多懂一點(diǎn)英文,知道 buffer 原本的意思,估計(jì)不用老師強(qiáng)調(diào)自己也能理解了。

再比如 serialize 和 flatten,這兩個(gè)單詞 Java 程序員都熟悉,其它程序員也不會(huì)陌生。前者是“序列化”或者“串行化”嘛;后者,嗯,有些人翻譯為“扁平化”,還有些人干脆不翻譯,就叫 flatten 好了。總之,這兩個(gè)詞都比較難記憶,給其他人解釋的時(shí)候也很麻煩。

文檔里是這么描述 serialize 的:the object can be flattened into bytes and subsequently inflated in the future。不妨看看 flat 和 serial 原本的意思。flatten 的意思是“打扁、推倒”,serial 的意思是“無(wú)間隔的規(guī)律擺放”。這樣看來(lái),整個(gè)描述是非常形象了:“序列化”指的是把對(duì)象拆散成一堆緊密碼放好的字節(jié)(也就是字節(jié)數(shù)組啦),之后還能組裝 起來(lái)。有很多人糾結(jié) serialize 到底是“序列化”還是“串行化”,如果你懂得 seralize 和 flatten 的真正意思就會(huì)知道,“序列化”還是“串行化”都不合適,但是,也無(wú)所謂。

沒(méi)錯(cuò),程序員面對(duì)的是機(jī)器和科技,但這并不意味著他們的工作就沒(méi)有任何樂(lè)趣,就需要硬生生造出很多“天外飛仙”一般的術(shù)語(yǔ)。恰恰相反,許多技術(shù) 術(shù)語(yǔ)都像莊稼一樣,把生活經(jīng)驗(yàn)當(dāng)成誕生的土壤,所以顯得非常生動(dòng)形象。如果程序員的母語(yǔ)是英語(yǔ),他看到 cache, buffer, serialize, flatten 之類的單詞,雖然也要學(xué)習(xí)其專業(yè)含義,但有背景知識(shí)和生活經(jīng)驗(yàn)可以借鑒,所以“背靠大樹(shù)好乘涼”。但如果程序員的母語(yǔ)是中文,英文又不夠好,就沒(méi)有這種優(yōu) 勢(shì),那些專業(yè)術(shù)語(yǔ)就像隕石雨一樣難以理解和應(yīng)付,只能生吞活剝,麻煩不說(shuō),久而久之也容易變得無(wú)趣。

有人說(shuō),好的翻譯可以解決這種問(wèn)題。一定程度上來(lái)說(shuō)確實(shí)如此,比如董樂(lè)山先生當(dāng)年翻譯的“導(dǎo)彈”,朗朗上口又生動(dòng)形象,大家一聽(tīng)都明白。可惜如 今這樣用心的翻譯家已經(jīng)太少了,加上新單詞出現(xiàn)太快,翻譯的速度根本跟不上。所以對(duì)程序員來(lái)說(shuō),真正的出路還在于自己,不要自我束縛在“專業(yè)英語(yǔ)”的世界 里,而是要認(rèn)真完整地學(xué)英語(yǔ),了解英文單詞本來(lái)的意思,真正懂得用英語(yǔ)思考和理解世界,才能收獲融會(huì)貫通的效果。

當(dāng)然,這個(gè)道理反過(guò)來(lái)也是成立的,還記得前不久被關(guān)掉的“曲徑”嗎?它的命名和 cache, buffer, serialize 等等一樣,其中的邏輯“不足為外人道也”,老外程序員如果只懂中文技術(shù)資料,看到這個(gè)名字多半也要撓頭瞪眼了。

 
責(zé)任編輯:王雪燕 來(lái)源: OPEN資訊
相關(guān)推薦

2009-02-13 12:20:22

程序員計(jì)算機(jī)英語(yǔ)

2013-10-29 10:24:31

程序員漫畫

2012-08-07 09:24:57

程序員項(xiàng)目

2021-11-29 10:27:24

設(shè)計(jì)模式程序員

2014-08-15 11:07:09

程序員

2011-12-20 09:01:25

.NET

2012-09-06 10:30:58

2016-03-15 08:51:12

程序員生活怪異

2011-08-11 14:52:59

2015-09-24 09:04:36

程序員

2011-09-18 09:42:08

程序員

2015-06-05 14:15:13

程序員難升職

2016-07-27 13:16:16

程序員編程英語(yǔ)

2015-08-18 09:23:39

程序員學(xué)英語(yǔ)

2012-06-21 16:19:30

程序員

2015-07-27 15:27:11

程序員重寫代碼

2015-07-28 10:28:54

程序員代碼

2018-05-07 15:59:39

代碼程序員重寫

2011-12-27 09:07:36

程序員

2021-12-20 14:42:39

程序員職業(yè)技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)