為什么要學(xué)習(xí)英語?
這個問題很多人問過,也有很多人回答過,此外如果你在閱讀這篇文章那么你應(yīng)該已經(jīng)意識到了學(xué)習(xí)英語的重要性。所以我不打算花太多篇幅在它上面,這里簡略的總結(jié)下學(xué)習(xí)英語的好處:
更多的高質(zhì)量學(xué)習(xí)資源:首先,絕大多數(shù)高質(zhì)量的計算機(jī)學(xué)習(xí)資源(書籍、論文、博文和視頻等)都是英文;其次,高質(zhì)量的中文計算機(jī)學(xué)習(xí)資源幾乎為零;
無需忍受翻譯帶來的問題:
信息損耗:任何知識從一種語言翻譯到另一種語言一定會有信息損耗,更何況是英文和中文這兩種差別巨大的語言;
時效損耗:翻譯需要時間,如果你讀的是翻譯版那么你已經(jīng)至少落后了半年;
翻譯損耗:國內(nèi)的計算機(jī)書籍翻譯水平參差不齊,你需要拼人品;
編寫更好的代碼:良好的英語水平是編寫可讀(Readable)代碼的前提;
FQ:相對于其它專業(yè),計算機(jī)專業(yè)出國工作要容易很多,但前提是你的英語要說的過去。
如何從零開始閱讀專業(yè)英文書籍?
注意這里的零基礎(chǔ)指的是專業(yè)英文書籍閱讀零基礎(chǔ)——而不是英語零基礎(chǔ),英語零基礎(chǔ)就沒啥好說的了 -_-#
剛開始閱讀專業(yè)英文書籍時要記住一點:你的目標(biāo)是提升計算機(jī)專業(yè)詞匯量,而不是學(xué)習(xí)計算機(jī)專業(yè)知識。所以你要閱讀的是計算機(jī)“通俗”讀物或“科普”讀物,我的計算機(jī)英文入門書籍是計算機(jī)文化(New Perspectives on Computer Concepts),這本書每年一版,現(xiàn)在已經(jīng)出到第15版:
這本書的好處在于它極其淺顯易懂,并且包含大量計算機(jī)專業(yè)領(lǐng)域名詞,所以讀者可以專注于提升計算機(jī)專業(yè)詞匯量,而不是一邊查單詞一邊學(xué)新技術(shù)——同時搞兩件事是很困難的。
順便提一下那篇老碼農(nóng)教你學(xué)英語和那個老碼農(nóng)推薦的書目,姑且不論他把Mythical Man-month拼寫成Man Month Myth,我非常驚訝他居然稱人月神話原版為白話書并且推薦初學(xué)者閱讀,直到看到這里:
這句“另外兩本也很不錯,我很久以前看的翻譯版,一直也想找原版的來看看,可惜總是沒空,這次你們就算替我看了吧”著實讓我很無語,沒看過的書也可以隨便推薦么 -_-# 難怪那么多人推薦計算機(jī)程序設(shè)計藝術(shù)呢。
我在讀研時從頭至尾閱讀了Frederick Brooks的人月神話以及他的幾篇論文(No Silver Bullets和the Computer Scientist as Toolsmith),所以對Brooks的文風(fēng)有一定了解——Brooks絕對是一位多才多藝的計算機(jī)科學(xué)大師——他的文字不僅涉及到計算機(jī),還涉及到管理、人文、藝術(shù)、建筑和神學(xué)等學(xué)科。讀他的書和文章,我查單詞直接查到手抽,推薦初學(xué)者讀這種書,你是要玩死初學(xué)者么 -_-#
如何提升專業(yè)英語閱讀能力?
閱讀New Perspectives on Computer Concepts之后,你應(yīng)該掌握了大量的計算機(jī)專業(yè)英文詞匯,這時你可以嘗試閱讀一些語言淺顯但主題相對深入的計算機(jī)科學(xué)基礎(chǔ)書籍,個人力薦Brian Kernighan和Andrew S Tanenbaum的作品,他們的著作不但本本經(jīng)典,而且語言樸實:
C程序設(shè)計語言(英文版)(第2版):不但是C語言的神作,而且為編程語言書籍的編寫樹立了新的標(biāo)桿;
UNIX編程環(huán)境(英文版):覆蓋了Unix的設(shè)計思想,簡潔易懂的Unix入門手冊;
The Practice of Programming:兩位Unix大師(Rob Pike和Brian Kernighan)近三十年的編程經(jīng)驗盡在此書之中;
算法(英文版)(第4版):數(shù)據(jù)結(jié)構(gòu)與算法入門;
現(xiàn)代操作系統(tǒng)(英文版第3版):全面的操作系統(tǒng)概論;
計算機(jī)網(wǎng)絡(luò)(英文版 第5版):全面的計算機(jī)網(wǎng)絡(luò)概論。
這些書讀完之后,你應(yīng)該可以做到脫離字典閱讀絕大多數(shù)的計算機(jī)書籍——是的,可能還會有一些生詞,但不會影響閱讀。
除了讀書,閱讀專業(yè)博客也是非常好的提升專業(yè)英語水平的途徑。個人推薦下面幾個網(wǎng)站:
Hacker News:大量的技術(shù)資訊和博文;
Reddit:非常的聚合站點,我一般去下面幾個頻道(subreddit)
/programming:聚合了大量的優(yōu)秀程序設(shè)計博文(其實不少國內(nèi)技術(shù)站點就是搬運它的內(nèi)容);
/java:大量的Java技術(shù)博文,質(zhì)量不如/programming,但也還說的過去;
/shittyprogramming:悠閑時的去處,不少段子來自這里;
Medium:大量的高質(zhì)量文章;
Quora:大量的高質(zhì)量問答,有不少中國人在上面練習(xí)英語;
如何提升英語寫作能力?
程序員學(xué)習(xí)英語不是為了寫小說——而主要是如下場景:
編寫設(shè)計文檔(Design Document);
收發(fā)郵件,進(jìn)行交流;
開發(fā)程序中的命名、注釋等描述性內(nèi)容。
1和2需要Nonfiction Writing——言簡意賅,層次分明。這方面的寫作書籍我推薦:
the Elements Of Style(這本書我應(yīng)該推薦了無數(shù)次 -_-#
On Writing Well
此外少不了中式英語之鑒,中式英語說說還成,寫到紙面上就丟大發(fā)了。
關(guān)于3的書籍很多,我個人推薦Code Complete中關(guān)于命名(Naming)的一章,章名好像是Power of Variable Names;以及Effective Java的Item44——如何編寫代碼注釋及文檔。
如何提升聽力?
閱讀量達(dá)到一定程度聽力也不會差,個人推薦Channel 9、Google Tech Talk和Coursera,多看多聽,此外務(wù)必不要中文字幕。
雜項
這里包含一些簡短的問題,如果你有疑問也可以留言,我會把答案添加到這里。
是否一定需要閱讀原版?
除非你閱讀原版書籍和中文書籍一樣順暢,或者翻譯書籍信息損失量太大,否則不需要刻意閱讀原版。
開發(fā)者需要多少單詞量?
沒有標(biāo)準(zhǔn)答案。作為開發(fā)者,大詞匯量不是必需,但一定要把詞用對——尤其是動詞。
以方法/函數(shù)名中經(jīng)常出現(xiàn)的get為例:我們需要知道何時應(yīng)該使用get,以及何時使用fetch、build、retrieve、compute、calculate和receive這些get的同類詞匯。
有沒有好用的詞典?
目前我還沒有發(fā)現(xiàn)一個好用的詞典應(yīng)用,所以依然在使用6年前的CASIO V2800H電子辭典。(略土 -_-#
以上。
-
程序員
+關(guān)注
關(guān)注
4文章
951瀏覽量
29798
發(fā)布評論請先 登錄
相關(guān)推薦
評論