新聞中心
一般來(lái)說(shuō),程序員可 算是英語(yǔ)水平比較好的群體,因?yàn)樵谶@個(gè)行業(yè),英文資料是最全面、最及時(shí),對(duì)英文資料的需求也最迫切的。就我觀察,剛?cè)腴T不久的程序員一般都能查閱英文文 檔,找到需要的信息。但是另一方面,我也發(fā)現(xiàn),經(jīng)常閱讀英文文檔的程序員,英語(yǔ)水平許多時(shí)候卻不像“經(jīng)常閱讀英文”的樣子。所以我在這里列幾點(diǎn)自己的學(xué)習(xí) 心得,供大家參考。

成都創(chuàng)新互聯(lián)公司是專業(yè)的定遠(yuǎn)網(wǎng)站建設(shè)公司,定遠(yuǎn)接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行定遠(yuǎn)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
***,既要看代碼,也要讀文檔。
讀文檔只讀代碼,是很多程序員的習(xí)慣,也是導(dǎo)致程序員雖然讀了很多英文資料,英文水平卻沒(méi)有相應(yīng)提高的原因之一。以前曾在《程序員》上看到介紹閱讀 技術(shù)圖書(shū)方法的文章,提出過(guò)“先代碼后文字”的方法,也就是“先看代碼,看不明白再看文字”。這種閱讀法能極大提高閱讀效率,但如果技術(shù)圖書(shū)只看代碼就足 夠,還要文字干什么呢?很多時(shí)候,代碼只是冰山一角,代碼背后的思維和邏輯才是真正的重頭戲,只有寫(xiě)成文字才能解釋,也只有閱讀文字才能理解。
舉個(gè)例子吧,兩段代碼都是 x = 5; 看起來(lái)沒(méi)差別,但一段的文字說(shuō)明是“x should be not more than five”,另一段的文字說(shuō)明是“x should be no more than five”。不查詞典,你能弄清楚兩種說(shuō)法的區(qū)別嗎——前者是“x必須小于等于5”,后者是“x應(yīng)當(dāng)只有5”,光看代碼估計(jì)很難意識(shí)到這些。
近年來(lái),有越來(lái)越多的技術(shù)人員投身譯介活動(dòng),這本來(lái)是一件好事,但如果平時(shí)只看代碼,英文閱讀能力不過(guò)關(guān),反而會(huì)造成更多的困擾。經(jīng)常有希望翻譯技 術(shù)文檔的程序員來(lái)找我討論翻譯問(wèn)題,希望了解一些句子應(yīng)該如何表達(dá)。一開(kāi)始我也認(rèn)為這是中文表達(dá)的問(wèn)題,但后來(lái)逐漸發(fā)現(xiàn),其實(shí)更多的問(wèn)題出在英文閱讀上, 所以我的回答經(jīng)常是:你覺(jué)得作者這里說(shuō)的是什么意思?引導(dǎo)對(duì)方把原文的意思逐步表達(dá)出來(lái),其實(shí)這時(shí)候,真正的譯文已經(jīng)浮出水面了。
最近的例子來(lái)自這句話:
But as with any web-based system, atom-based solutions trade latency for scalability, making atom often inappropriate for very low-latency notifications.
這句話之所以難翻譯,問(wèn)題似乎在于,除去句子的主干,之前有一個(gè) But as…, 之后又有一個(gè) making…。然而我***發(fā)現(xiàn),對(duì)這個(gè)句子有疑問(wèn)的程序員其實(shí)根本沒(méi)搞懂 trade…for…的用法(翻譯為“基于 atom 的解決方案需要權(quán)衡延遲性和擴(kuò)展性”),如果明白它是“犧牲 xx 換取 xx”之后,整個(gè)句子就相當(dāng)好理解,也非常容易翻譯了:與所有基于 web 的系統(tǒng)一樣,基于 atom 的解決方案為追求可擴(kuò)展性,增大了延遲,所以 atom 往往并不合適用對(duì)延遲要求極低的提示。
要避免出現(xiàn)這個(gè)問(wèn)題,首先要做的是改變“只看代碼不看文字”的習(xí)慣,或者至少要做到“閱讀文字之后,能明白它的意思與代碼是一致的”;另一個(gè)有效的辦法是通過(guò)閱讀純文字的英文資料來(lái)學(xué)習(xí)某些新的知識(shí)(比如關(guān)于原理的細(xì)致講解),這個(gè)方法我推薦給許多朋友,非常有效。
第二,注意讀音。
以前總聽(tīng)人說(shuō),中國(guó)人學(xué)了很多年英語(yǔ),其實(shí)是啞巴英語(yǔ)。不知道現(xiàn)在的情況有多少改觀,但就我所見(jiàn),不少程序員雖然閱讀了大量英文資料,也會(huì)加入英文的討論組,也敢開(kāi)口說(shuō),但是還會(huì)在讀音上出現(xiàn)許多問(wèn)題。這里說(shuō)的“讀音”其實(shí)不是字正腔圓的口音,而是一些術(shù)語(yǔ)的讀音。
計(jì)算機(jī)科學(xué)的術(shù)語(yǔ)來(lái)源非常廣泛。比如設(shè)計(jì)模式里,有一種模式叫 Facade,許多人往往直接讀作’f?kɑ:d,其實(shí)這個(gè)詞來(lái)自法文,正確的讀音其實(shí)是f?’sɑ:d;再比如“偽”代碼的 pseudo,正確的讀音是’su:d??,但是我很少遇到能把它讀對(duì)的程序員,許多人干脆不會(huì)發(fā)這個(gè)音。
也許有人說(shuō),這些問(wèn)題不重要,大家“將錯(cuò)就錯(cuò)”,約定俗成就好了,但事情沒(méi)有這么簡(jiǎn)單。以前我參加技術(shù)聚會(huì),有位嘉賓(技術(shù)高手)把框架名 chameleon(變色龍)讀成了’t??milj?n,而正確的讀音是k?’milj?n,因?yàn)闆](méi)有文字資料,許多人聽(tīng)了半天才知道他說(shuō)的是什么,一 些不熟悉 chameleon 的聽(tīng)眾更是到結(jié)束也沒(méi)明白。中國(guó)人聚會(huì)尚且如此,如果有機(jī)會(huì)參加中外技術(shù)交流,讀錯(cuò)造成的問(wèn)題就更大了。
解決這個(gè)問(wèn)題有一個(gè)非常好的辦法,就是學(xué)習(xí)美國(guó)大學(xué)的公開(kāi)課,耶魯、斯坦福等學(xué)校的計(jì)算機(jī)系都放出了許多高質(zhì)量的公開(kāi)課,國(guó)內(nèi)也有非常好的翻譯,學(xué)習(xí)其中的精品課程,不但能夯實(shí)基礎(chǔ),還能順帶學(xué)會(huì)許多每天都要遇到,但不會(huì)或者讀錯(cuò)的術(shù)語(yǔ)。
第三,鍛煉英文表達(dá)。
如果你背過(guò)單詞,大概聽(tīng)到過(guò)“被動(dòng)單詞”和“主動(dòng)單詞”的說(shuō)法,前者是指“看到了能認(rèn)出來(lái)”的單詞,后者指“表達(dá)時(shí)能主動(dòng)應(yīng)用”的單詞。就我的觀察,許多程序員掌握的大多數(shù)英語(yǔ),都屬于“被動(dòng)英語(yǔ)”——看到了能認(rèn)識(shí),但要表達(dá)同樣的意思,未必說(shuō)得出來(lái)。
初看起來(lái)這樣似乎沒(méi)有問(wèn)題,可是查閱資料時(shí),不會(huì)表達(dá)就成了大的障礙。相比中文技術(shù)資料世界中“無(wú)責(zé)任/不負(fù)責(zé)轉(zhuǎn)貼”泛濫的情況,英文技術(shù)資料的質(zhì) 量要高得多,Google 搜索資料的準(zhǔn)確性也遠(yuǎn)高于百度;但是,要能夠順利應(yīng)用英文資料,需要“主動(dòng)”輸入信息,描述問(wèn)題,這時(shí)候“被動(dòng)英語(yǔ)”就成了大問(wèn)題。
我自己多次遇到過(guò)這樣的情況:即便答案近在咫尺(輸入正確的關(guān)鍵詞,Google 的***條結(jié)果就是答案),但程序員就是一籌莫展——因?yàn)樗恢烙?jì)算機(jī)的“嘟嘟”聲是 beep,不知道搜“并發(fā)”資料應(yīng)該用 concurrency,也不知道“死機(jī)”是 system halt,“黑屏”是 blank screen,“(登錄時(shí))不停跳轉(zhuǎn)”是 infinite loop……
要解決這個(gè)問(wèn)題,***的辦法是在閱讀資料時(shí)多用心,記住這些說(shuō)法;另一方面,沒(méi)事的時(shí)候多瀏覽 stackoverflow 之類的網(wǎng)站,不要因?yàn)閱?wèn)題與自己無(wú)關(guān)而忽略,多留心這些問(wèn)題到底是什么,注意人家是如何表達(dá)的。只有經(jīng)過(guò)這樣的鍛煉,才能在自己遇到問(wèn)題時(shí)迅速找到可能的 解決方案,節(jié)省時(shí)間。
有人說(shuō),以漢語(yǔ)為母語(yǔ)的程序員,學(xué)習(xí)英語(yǔ)已經(jīng)是迫不得已,不但要會(huì)閱讀,還要會(huì)讀、會(huì)表達(dá),真是難上加難。這種說(shuō)法有一定道理,但是在目前并沒(méi)有更 好的解決方案,學(xué)會(huì)閱讀、認(rèn)準(zhǔn)讀音、鍛煉表達(dá),確實(shí)可以給自己帶來(lái)好處。長(zhǎng)遠(yuǎn)來(lái)看,要改變這種情況,需要中文技術(shù)圈的所有人員努力貢獻(xiàn)高質(zhì)量的資料(原創(chuàng) 和翻譯都可以),如果只是“無(wú)責(zé)任轉(zhuǎn)貼”,既不親自驗(yàn)證,也不整理格式,中文技術(shù)資料的整體質(zhì)量只會(huì)持續(xù)惡化,反向逼迫更多的人把英語(yǔ)學(xué)好。
本文標(biāo)題:程序員要如何學(xué)英語(yǔ)?
URL鏈接:http://m.fisionsoft.com.cn/article/coddode.html


咨詢
建站咨詢
