程序員怎麼學習英語?

本人剛畢業學生一枚 ,現在工作是前端工作,英語水平是學校的三級,四級英語一直努力著 ,可是從沒有考過 。網路上面的大量前沿IT資料,都是英文的,國外技術網站,琢磨大半天,才弄懂一點。所以,學好英語,刻不容遲。盼大神支點大招,你們是怎麼學習英文的?謝謝。


每個變數名用五分鐘思考。


如果你不從現在開始「用」英語,而思維總停留在「等我學好了再用」,那麼我可以肯定,你已經輸了。很多孩子的英語之路就是這麼輸在起跑線上的,觀念和策略一上來就是錯的,把「學習」本身太當回事。

想我們國家造核彈那會兒,多數科學家不懂英文的,但核彈還是搞出來的?因為「學英語」不是他們關注的重點,造核彈才是,英語只是工具,無論你學得再下三濫,沒人規定你不可以「用」你的下三濫的英文,重要的是它對你是否產生效益,語言本身不是終點。

明明資料就放在眼前了,不說看個八九不離十,看個兩三分還是可以的吧。但你不,你覺得要麼看十分,要麼不要看。眼高手低,自毀前途的孩子啊。先看他兩分行不行,看懂兩分說不定就能看懂四分,六分,有六分的耐心搞它個半年,給自己一個習慣,你就不知不覺成了。

「學習」本身,不是什麼美德。不要拿「學習」自我暗示和激勵,要拿「結果」,「用處」。不然你學英語就永遠是欠的,一種人生負債一般的存在。


我來分享一下對於英語尤其是英語口語的提高的幾個輕鬆的途徑吧

1.聽播客podcast

soundcloud上非常多,但是現在被牆了,不過用iTunes還是有很多優質內容的;作為程序員,當然要聽和程序員相關的podcast,這樣既能了解最新業界動態也 能培養英語語感。

聽podcast的好處是,你可以一邊寫代碼一邊聽世界另一端的幾個編程大牛在你耳邊吹牛逼,自己還會時不時會心一笑,心說這傢伙原來這麼逗。

一期不落下的幾個: javascriptJabber https://itunes.apple.com/us/podcast/javascript-jabber/id496893300?mt=2

Adventures in Angular by DevChat.tv on iTunes

NodeUp by A Node.js Podcast on iTunes

2. YouTube

在YouTube上看很多開發教程,talk

這裡就不發鏈接了,只要是你感興趣的任何領域都有相應的相關頻道的,一搜就是一大堆。3.訂閱各種weekly newsletter

這些都是網上優秀的關於編程的英文文章的一周合集

  • awesome-weekly

  • matheusazzi/meet-weekly · GitHub
  • Python: Pycoder"s Weekly

    Ruby: Ruby Weekly: A Free, Weekly Email Newsletter

    Go: Go Newsletter: A Free, Weekly Email Newsletter

    iOS: iOS Dev Weekly

    HTML5:HTML5 Weekly: A Free, Weekly Email Newsletter

    更多信息查看這個問題:對程序員而言,訂閱哪些信息源最能讓你跟上前沿? - Developer


    介紹我的學習方法,我是覺得有一定效果的:

    在打代碼的過程中,遇到不懂的關鍵詞、變數名和方法名,使用翻譯軟體去翻譯成中文,如果中文覺得彆扭的話就用自己的方式去理解,反正以後再次遇到不懂的單詞就繼續翻譯,直到我一看這詞就知道是什麼意思即可,看英文資料也是這方法。

    這種學習方法就像英語渣玩lol就知道「first blood」,「double kill」;玩cs就知道「fire in the hole」,「copy that」,「headshot」等等,道理是一樣的。

    另外,程序員背單詞這方法對我來說不適合,我覺得效率太低,不如一邊打代碼一邊翻譯學習,當然,有些人適合背,那要背就去背計算機英語,這樣就避免了「headshot」理解成「用相機拍攝頭部」的尷尬。

    這種方法適合已經工作的程序員,不過有個缺點:只會認寫,不會聽讀。(逃)


    看英文文檔超級有效!

    前幾天學VUE,就逼自己看了幾天VUE文檔。

    雖然有很多單詞看不懂,但是隨手百度就知道了。

    不用刻意去記憶,文檔里重複出現的單詞很多,每次不認識直接百度,然後看下來就記住了。

    而且,看文檔還可以以程序員的角度思考,可以猜測一些生詞的意思,然後就會有一種「這個單詞我不認識,但是大概是XXX的意思」這種感覺。也算是學到了


    分為四個方面進行回答,首先是我自身目前的英語情況及水平,其次是我學習英語的經歷,然後是我總結的為什麼中國人學英語很難的原因,最後是我的一些學習方法。

    我目前的英語情況:(雖然也算不上什麼出色,但是對於我們所要求的學習應該是沒什麼問題了)

    • 聽力:我聽力練得稍微少點,基本上沒有過專門訓練,但是跟英語母語者正常口語交流速度的聽力沒多大問題,也就是很少要求對方重複說過的話。
    • 口語:口語也屬於正常交流水平,曾經獨自一人在從沒出過國並且在外沒有朋友的情況下去美國玩了一個多星期,跟房東及當地人交流還算正常。
    • 閱讀:我現在寫作一本書叫做《全局光照技術》,每天都要閱讀數篇行業技術論文和其它英語資料,總計已上千篇,現在幾乎感覺不到閱讀障礙。
    • 寫作:曾經(2015年)寫作一篇文章,經過專業機構(就是那種幫助修改專業英語資料的機構)的測評,得到如下的評分。不算太高,但現在肯定不止這個分數。

    我的英語學習經歷:

    我相信在閱讀這個答案的大部分讀者跟我一樣,都有一段痛苦的英語學習之路。

    大概是剛進入初中我就有機會閱讀了《呼嘯山莊》,《諾貝爾自傳》,培根的《人生論》等外國的文學作品的原因,從初中一開始學習英語,我就很強烈地希望把英語學好,並且我們英語老師對我很好,甚至經常會單獨給我補課,但是很可惜我從一開始英語就不好,並且到高中,到大學都如此,其原因就是我不愛記單詞,我是那種怎麼也記不住單詞的人。

    你可以想像我的初中和高中生活:一直在拚命想要學好英語,一直在拚命努力,但命運卻一直不給我機會,高考時英語好像是80幾分,基本上一直就是那個水平。

    進了大學,我悲慘的英語命運也跟著我進了大學,我好像是一共參加了兩次四級考試,都沒過,剛好我們那一年開始沒有四級也能拿畢業證,我於是就放棄了。當然不是那種垂頭喪氣的放棄,而是覺得反正再考也過不了,而且我(居然)相信以後畢業了我肯定能夠把英語學回來,所以是那種無所謂的放棄了(小強)。

    後來,我悲慘的英語命運跟我一起參加了工作,我們一起換了兩三家公司,中間嘗試過背XX寶書,買過一大堆英語圖書,參加線下培訓學校,強行閱讀英文資料......當然「然而並沒有什麼用」。

    直到2015年,那跟我一起玩了十幾年的霉運突然一下子走了!沒錯,我覺得我現在的英語能力幾乎70%以上都歸結於這兩年的積累。這兩年我沒有背過辭彙書,甚至還沒有以前那麼「費勁」,我把方法留在最後一節里,因為我需要首先分析一些我們為什麼學不好英語的原因。

    為什麼中國人學習英語很難:

    我相信很多人都有類似的經歷,英語學習在中國似乎的確是一個很大的問題,從小到大,身邊很多聰明的同學似乎都拿英語沒辦法,而實際上這些人並非沒有認真學習,相反這個群體背後都花過相當的精力,可以說英語教育的低效在中國浪費了很多資源,包括學校的資源和個人背後的付出。

    當然有許多人首先會站出來反對這個命題,為什麼只有中國人覺得英語很難,其它國家的人學習起來就很簡單嗎。回答這個問題的關鍵在於分析中文和英語兩種語言的差異,當然我不是語言學家,以下我只分析的自身在近兩年體驗到的一些差異,這些差異導致了我們學習英語的低效。

    主要包含兩個方面,首先第一個原因會影響到我們對英語的入門,而第二個原因影響我們能否像母語一樣精通這門語言的能力。

    一,音和形的差異

    從小學第一年入學,語文老師便告訴我們一個學習中文字的訣竅,那就是「朗讀+抄寫」,這是因為中文字是象形字,抄寫能強化我們大腦中對於字的辨識和記憶,當我們看到一個中文字的時候,我們大腦首先出現的是這個字的意思,而不會去思考字的發音,除非你要把它讀出來,或者你要表達出來給別人聽,對於中文,發音似乎是一種用於人與人之間交流的輔助方式,對於語言本身來講,音是相對次要的存在。另一個稍微不那麼強烈的證明是,在背誦一篇文章的時候,小聲甚至幾乎無聲的默讀似乎是相對於大聲朗讀更有效的,因為小聲朗讀時大腦的注意力放在了對形的記憶上,大聲朗讀分散了這種注意力。

    而英語是一門關於音的語言,語音學是一門英語語言研究中的重要學科,英文單詞的構成和英文句子的表達都是和音相關,甚至由音決定的。當你看到一個英文單詞的時候,大腦的第一反應是要把它的音「讀」出來,不管是有沒有發聲,或者在心裡默念,這個音的反應都是第一位的。事實上如果你不會讀一個單詞,幾乎可以肯定你寫不出這個單詞,自然你也聽不出別人說的這個單詞,更不可能在口語中自然地表達出來,即使你強行記住,但一定會很快忘記。相反,如果你能正確讀出這個單詞的發音,你會很容易記住這個單詞。

    這可以說就是大多數中國人學不好英語的最基礎原因。回憶我們學習英語的一些行為:我們像學漢字一樣拿小本子反覆抄寫,這都是試圖去記住單詞的形,然而可惜的是英語單詞的數量遠遠大於漢字,根本不可能通過形來辨識;其次,在學校也有很多同學通過大聲朗讀來背誦單詞,但是仔細聽,其中有很多發音是不標準甚至是錯誤的,其原因可能是老師本身就是發音不準的,這在農村鄉鎮甚至縣裡是很普遍的事情,其二是我們沒有意識到發音對於英語的重要性,所以在大聲背誦的時候第一音發錯了自然是不能記住單詞的,第二更有可能你雖然在發音,但是大腦的注意力仍然是在思考單詞的形,就像記漢字一樣。這造成了我們永遠記不住單詞的原因,而單詞積累肯定是語言學習的第一步,這一步沒有好的基礎,後面的事情會接二連三的不順利。

    當我在2015年那個霉運朋友要走的時候,我發現好多英語單詞的音我都是讀錯的,你可以想像,為什麼十幾年過來這麼努力都沒有糾正過來,因為我根本就不知道這個道理呀。

    二,抽象和嚴謹的差異:

    當具有一定的基礎,想要從根本上掌握英語這門語言的時候,另一個差異會影響著我們英語的提高,這方面是關於語法的。中文是一門相對比較抽象的語言,我們在表達一件事情的時候,句子的結構往往不是第一要考量的,例如說漢語的人在交流的時候往往會通過某個設計的故事來闡明自己的觀點,別人跟你講任何道理之前往往是會先給你講個故事,他們往往不會給你更確切的概念,這種文字特徵在某種程度上導致了中國一些比較獨特的文化。然而這種缺乏從語言結構層面精確定義的表述的能力,會使得人與人之間的交流效率很低。而英語的句子結構非常嚴謹,當你在向他人闡述事情的時候,你會思考句子結構,用非常嚴謹準確的句子和單詞去表述你想表達的事情。因此,從這點上看,英語作為學術交流和科學知識記錄的載體,總體上要優於中文。

    這種差異,影響著英語的提高,或者說一般說的「英語思維」,當你想表達一件事情的時候,一定要盡量思考你想表達的是個什麼東西,你可以用很多比喻,但是這些比喻要比較具體,幫助理解這個概念,而不是試圖通過講述某個情景,希望對方自己「悟」出你想表達的事情。這種表述的精準,影響力你對英語語言的運用。

    當然上述區別並不能說明哪個語言好或不好,它們只是兩種不同的語言,都具有各自的特點。例如英語在科學表述上顯然更具有優勢,但是漢語在閱讀理解上會更加高效,因為閱讀漢字的時候對形的辨識要快於對音的辨識,因為形的辨識是不需要時間的,音是需要時間的,例如電影《降臨》中其外星人想要送給地球人的禮物其實就是用形來代替音的表述以節省大量時間。

    程序員怎樣高效地學習英語:

    最後,我來說說我的英語學習方法,如何在兩年之內提高英語能力,不包含任何痛苦和蠻橫的方法,我並不擅長記憶,我也通常不習慣於強迫自己去實踐什麼方法。如果你理解並認可上面分析的一些原因,提高英語應該是一件非常自然的事情。以下我結合自己的經歷加總結的方式進行說明。

    大概2014年下半年的時候,是我最後一次試圖背一本辭彙書,其結果當然是失敗的。後來我去報了一個韋伯的線下學校,在北京三元橋那片,說實話收穫很難說,因為幾個人上一節課,即使按理論一節課你有四分之一以上的時間練習英語,但是卻由於心理總在跟旁邊一個和我一樣倒霉的同學較勁,到底我更遜還是他更遜,結果幾乎全節課都是無效的,或者生效甚微。但是無意導致了我以下四個方面重要的理解和方法。

    一,準確發音:

    首先在之前我是沒有了解到發音的重要性的,也不是韋伯的任何一個老師告訴我這麼做的。韋伯有一個在線課件,每個學生上小班課之前必須完成對應課程的練習。不得不承認,這個課件最大的好處就是包含大量的語音練習,即使是簡單地讓你跟讀一遍,基本上一節課的練習下來,你需要對同一個單詞跟讀多遍。在跟讀的過程中,我才發現過去很多單詞的發音我是沒有讀準確的,或者說我們在心裡默默地學習了十幾年無聲英語,從來很少開口去說,更沒有人會指出我的發音的不準確。

    但是你不要以為是韋伯的課件救了我的英語,因此你必須去報一個韋伯的培訓班,不是這樣的,這裡不是在為他們做廣告!但是這一發現當時的確讓我有點吃驚,幾乎很多單詞我都存在讀不準或者部分讀不準音。然後怎麼辦了,我希望要好好的把自己的發音糾正過來,這光靠韋伯的課件是不行的。我當時並不想去好好學音標,我覺得最省事的辦法就是查詞典,通過詞典中的標準發音來糾正自己的發音。一開始我就是普通的用英語軟體進行查詢發音,但是這樣很不方便,每次遇到一個單詞我需要做幾個步驟才能聽到這個單詞的發音:「選中單詞--&>複製--&>打開英語詞典--&>粘貼並回車--&>點擊發音」,這樣的過程太低效了,有時候遇到一個單詞都懶得去打開軟體糾正。後來我找到了Mac下一個快速發音的方式,其實也就是「系統偏好設置--&>輔助功能--&>語音」下面有個「按下按鍵時朗讀所選文本」的選項,打開這個選項之後,每次看到一個不認識的單詞,直接選中,然後按下快捷鍵Command+R,系統就會朗讀該單詞。

    有了這個配置之後太方便了,由於我還是在強迫自己閱讀大量英語文章,我已經形成了一個習慣:只要任何時刻我看到一個不會讀或者感覺發音或不準確的單詞,我就會選中並按下Command+R,也就是每見到一個陌生詞,我都要確保我能夠準確的發音。開始按發音鍵的頻率很高,幾乎一天幾十上百次都是很正常的,但是這個操作並沒有什麼其他痛苦的成本,所以這個動作能夠很容易的堅持下來。由於我很懶,甚至遇到我不會寫或不認識的單詞,我也懶得去記它們,只要確保能正確讀它就可以了,實在有些影響理解的關鍵詞,也就是查查中文意思一帶而過。

    然而過了一段時間,神奇的事情出現了,我發現那些我並沒有刻意記憶的單詞,無形中就記住了,並且大多數單詞我都能準確地寫出來。這裡面其實包含兩個原因,其一當然是發音,因為英文單詞是由音節構成的,如果你發音不準確,自然是不可能記住和拼寫的,相反,如果你發現記單詞很困難,通常是因為你對這些單詞的發音是有問題的,不信你大聲地朗讀一些單詞,然後和詞典程序對照一下;其次,我在反覆閱讀各種資料的過程中,那些重要的單詞會頻繁出現,而每次出現我都會確保對它準確發音,當這個詞出現了7,8次甚至更多時,你的大腦會下意識的告訴你這個東西是很重要的,相信大腦的記憶機制會幫助處理這種重要信息。

    所以,總結就是使用一種機制確保對每個不熟悉的單詞的準確發音,然後在此基礎上通過生詞出現的頻率告訴大腦那些該記憶的重要信息。

    二,主動表達

    跟其他人一起上小班課實在沒什麼效率,但2014年底其實我已經離職了,我發現其他同學一般都是選周末或者晚上的課,因此平時周一至周五白天的課幾乎很少人選,發現這個信息後我幾乎總是能選到只有我一個人上的小班課,於是就無所謂跟別人比較了。

    恰逢那時有個女老師,很喜歡跟她聊天,她應該也喜歡給我上課,這個老師有點不喜歡按課件內容上課,其實她是看學生的狀態,如果學生喜歡聊什麼話題或者喜歡什麼事情,她就會順著你的思路走,然後上課其實就變成是聊天了。可能有些同學不太喜歡這樣,但是我卻超級喜歡這樣的上課方式,每次上她的課,我都會事先大概構思一下要討論什麼話題,準備一下相關辭彙和思路,然後拚命把老師往我的思路帶,於是一堂課上我開口的頻率大大高於其它老師的課。

    當然,這樣上課的效率顯然是非常明顯的,但是我想說的不只是說要主動開口,我想說的是說什麼內容。老師也是普通人,當你在和他們聊天的時候,跟你和其他人聊天是一樣的,你需要保持讓別人對你的話題感興趣,不要認為你是學生老師就需要遷就你,比如你聊一些很俗或者沒有見解的話題,尤其對於外教,他們會沒有興趣跟你聊下去,我是說發自內心那種,當然有些外教會鼓勵你多開口,所以無論你說什麼他們都會鼓勵你說下去,但是如果要讓聊天的雙方都感到像好朋友一樣在交談,你必須說點有趣的話題。

    我的方法就是總是表達我內心的想法。我通常不會去聊一些一般人都知道的事情,如果你僅僅是把一般書上或者網上的知識用英語表述出來那樣並沒有趣,我總是去表達那些我認為和別人不太一樣的觀點和思想,比如聊遊戲啊,談一些我理解的家庭教育,文化差異,我的夢想,甚至小時候自己的一些趣事。這樣的事情不僅你自己有興趣和激情去和別人分享,因此你的主觀表達動力會很強,同時聊天的對方會感到新鮮所以願意跟你聊下去,形成一個非常能夠促進你表達的環境,當你滔滔不絕的時候,一定是你語言進步的時候。

    所以,總結就是,跟外教上課聊天的時候,聊你心中最感興趣並且儘可能原創的想法和觀點,已形成一個非常能夠促進你表達的對話環境,因為此時對方非常樂於傾聽。這樣的主動表達在英語學習早期是很重要的。

    三,語法提高

    當你能夠開口之後,我是說那種碰到老外能以結結巴巴但是思路不停頓的帶著較多的語法錯誤進行交談的時候,你需要開始提高你的語法了。稍早於這個時期的語法練習有時都是無效的,因為語法是只要當你在開始主動表達的時候你才會更有效地掌握它,如果你僅僅是把它當做一種知識或者一種規則,你往往無法掌握它,即便你後來看起來英語語法其實沒那麼難。

    怎樣提高語法?做題顯然是無效的,不要去買那種學生時代做題的語法書,因為做題的本質還是在強化記憶。對於語法的提高,應該與表達結合,你需要去思考當需要表達什麼樣的內容時使用什麼樣的結構,或者說你看到一條語法規則,立刻想到可以用來怎樣表述什麼具體內容,只有這樣,你才能掌握語法,所以這就是為什麼你需要在主動表達願望比較強烈,並且感覺到了語法的限制時,此時是補充語法的最佳時機,因為每一個規則你都能夠將它們運用到需要用到的地方。如果你只是做題,或者其它反覆背誦之類仍然是強化記憶的方式,由於你並沒有和語法使用的場景結合,這些規則跟你一定是有緣無分的。

    具體的方法,我的經驗是看了兩本書,我覺得基本上這個階段只看著兩本書差不都就夠你的語法運用了。第一本書是《The Only Grammar Book You"ll Ever Need》,這本書非常小巧,只有不到200頁,並且大小只有手掌大一點,其內容你差不多能夠在幾天之內全部看完。這種簡潔乾淨的內容有助於你快速閱覽整個語法系統,建立起一個全局概念,由於此時正處於主動表達階段,因此你會發現沒看到一個過去沒有掌握的規則,現在看起來似乎都那麼自然,這個階段語法學習的效率極高。

    第二本書是《English Grammar in Use》,讀完第一本之後,你還是要稍微做點題練習以下,但是這裡做題不是像一般學校的英語教課書或試卷那樣,將一些雜亂的語法混在一起,然後讓你憑感覺或運氣發揮,這本書是針對語法的各個部分進行分類,先簡述相關知識點,然後對其進行專項訓練,這種訓練的好處是你的腦袋會不斷思考同一語法點的運用場景及方法,由於前面說了你處在主動表達階段,因此這種強化的效率也挺高。有一套劍橋的英語在用系列,這兩套的思路差不多,這本簡潔一點,劍橋的內容會稍微複雜一些。

    看完這兩本書,基本上你的語法結構就差不多了,然後你需要更多的口語練習,並不斷糾正你的語法運用。下個階段的目的就是強化你的語法的正確運用,你可以選擇網上的外教,或者加入一些英語聊天的社區,儘管文字聊天對你的即時反應訓練要差一些,但是對於語法提高還是有效果的。

    四,語法糾錯

    很多人英語進步慢的原因,是因為他們不知道自己某些表達一直都錯了。由於我們自身是學生,有時候我們無法判斷自己的表達是否正確,即便你可以查看語法書,有時候自己也是難以確定的,更重要的是,你很難發現自己錯了。有時候你在QQ微信群里看到別人很多很明顯並且常見的錯誤,但是這樣的錯誤其實他們犯了很久了,只是他們自己並沒有察覺。

    但是這樣的問題,如果有一個令人信服的人稍稍給他一點提醒,他們便會很高效地糾正這個錯誤,並且以後有可能都不會犯了。你會說,我網上找一套題,然後做完了機器告訴我哪些錯了,這和上面說的有什麼區別。簡單地說,這兩者根本不是一回事,做題做錯了,你往往會想選另一個答案就對了,或者怎樣就對了,你往往不會有很深刻的思考,因此基本上是無用的,記得初高中的時候同樣一類題每次都錯嗎,為什麼沒有記住了。

    人工糾錯,是英語學習後期提高階段非常有效的一種方式,可惜我們基本上沒有這個環境。當一句話從你口中經過你的主動表達說出來的時候,它包含了一個語法或單詞使用的特定場景,如果另一個人立即指出了你表達中的某種錯誤,你會深刻地知道錯誤的原因,這可能使你一直以來都忽略的或者沒有掌握的,這種問題通常你從語法書中都是無法察覺的,因為當看到那個部分的時候你會主觀地認為自己已經掌握了該知識點而不會進行「自動糾錯」。並且這樣的糾錯,往往能夠讓你對該問題所對應的語法或其他問題形成更深刻的理解,你收穫的甚至不是一個錯誤那麼簡單,而是在完善你的整個知識系統。

    這個經驗是後來我從網上的一對一口語課程當中體會到的,我發覺這個太重要了,因為在語言學習中學生往往幾乎不可能具有自我糾錯意識或能力。這方面顯然最有效的方式是和外教對話,但是成本也顯然非常高。由此我曾想發起一個開源項目叫ProjectEnglish,其中社區的核心就是以糾錯為中心,通過幫助成員糾錯來進行交流和學習。我加入過國內很多各種QQ微信群英語學習的,但是交流幾乎都存在大量的語法錯誤,大家看著這些錯誤天天發生,沒有人去糾正,犯錯之人自己更無從糾正,如果有人在你開口的時候告訴你什麼地方以及為什麼用錯了,這種效率顯然是非常高的。但可惜現在寫作繁忙,這個事情一直擱著,也許將來不知道有沒有時間去執行一下。

    以上,結合了自己英語學習的經歷和經驗,談談英語學習的方法,希望對我受苦程序員大眾有一點幫助,祝早日脫離苦海,走上人生巔峰!

    ________________________

    補充+強調:

    這個實踐最最重要一點就是一定要在電腦上配置一個一步可達的快捷鍵,因為在你的糾音過程中你需要重複這個操作成千上萬次,如果每次都很麻煩需要打開詞典什麼的,肯定堅持不下去的,但是如果設置成一個快捷鍵,則很容易養成習慣且這個操作很簡單!Mac上這個設置很簡單,Windows上應該也有相關設置,不行的話自己寫個服務之類的接受指定的快捷鍵也行。


    首先請先具備英語的基礎知識,比如一本高考必備。

    然後原則上英語中不懂的地方一定要弄懂才能放過。

    接著多接觸英語文化,比如我是偶爾上上github、codeproject、xda、stackoverflow等,註冊個賬號,沒事看點外國新聞。

    最後嘗試和外國人聊聊天,通通郵件,一切都會覺得那麼自然。

    我在校和三個外教聊天后才發現,其實,英語交流遠遠沒有學校考試那麼難,配合語氣和肢體動作再加上不太嚴謹地口語表達其實就已經可以完成交流了。

    以前高中的時候,我在幾個外國站點上開個翻譯機四處瞎逛後就發現,其實不是英語的問題,而且文化的問題,真是吃了文化的虧啊!:-(現在混久了,已經不需要什麼翻譯機了:-P。

    (我沒考四級)


    人真是逼出來的,最開始我也是搜中文資料看,慢慢的發覺有些翻譯不太靠譜,對我的理解造成極大的困擾,然後只好去找英文原版看了,就這麼逼著開始學英語了,按需而學, 而不是為學而學。


    原文備註了禁止轉載,所以我就添個鏈接了。

    程序員英語學習指引


    跟著10種語言、十個框架的官網基本教程做一遍,你英語基本能有不少提高吧。


    英語專八前端回復。英語極速提高法,用時兩天。第一天,公共四級辭彙一天記1000個,不要求非常熟悉,看到能想到意思就行,第二天,VOA慢速英語選幾篇你差不多能聽懂的,然後進行影子跟讀,持續一天時間。這兩天你堅持下來,你就能聽說讀寫看了。


    銘代碼建議丨程序員應該要如何學英語

    一般來說,程序員基本算是英語水平比較好的一個群體,因為在這個行業,英文資料是最全面的和最及時的,對英文資料的需求也最迫切的。就我觀察,剛接觸程序這個行業的人一般都能查閱英文文檔,找到需要的信息。但是另一方面,我也發現,經常閱讀英文文檔的程序員,英語水平許多時候卻不像「經常閱讀英文」的樣子。所以成都銘代碼科技在這裡列幾點平時程序員們在英語這條路上的學習心得,供大家參考。

    既要看代碼,也要讀文檔。

    讀文檔只讀代碼,是很多程序員的習慣,這也導致程序員讀了很多的英文資料,但是英文水平卻沒有相應提高。《程序員》上介紹閱讀技術圖書方法的文章,提出過「先代碼後文字」的方法,也就是「先看代碼,看不明白再看文字」。這種閱讀法能極大提高閱讀效率,但如果技術圖書只看代碼就足夠,還要文字幹什麼呢?很多時候,代碼只是冰山一角,代碼背後的思維和邏輯才是真正的重頭戲,只有寫成文字才能解釋,也只有閱讀文字才能理解。

    舉個例子吧,兩段代碼都是 x = 5; 看起來沒差別,但一段的文字說明是「x should be not more than five」,另一段的文字說明是「x should be no more than five」。不查詞典,你能弄清楚兩種說法的區別嗎——前者是「x必須小於等於5」,後者是「x應當只有5」,光看代碼估計很難意識到這些。

    近年來,有越來越多的技術人員投身譯介活動,這本來是一件好事,但如果平時只看代碼,英文閱讀能力不過關,反而會造成更多的困擾。經常有希望翻譯技術文檔的程序員來找我討論翻譯問題,希望了解一些句子應該如何表達。一開始我也認為這是中文表達的問題,但後來逐漸發現,其實更多的問題出在英文閱讀上, 所以我的回答經常是:你覺得作者這裡說的是什麼意思?引導對方把原文的意思逐步表達出來,其實這時候,真正的譯文已經浮出水面了。

    最近的例子來自這句話:

    But as with any web-based system, atom-based solutions trade latency for scalability, making atom often inappropriate for very low-latency notifications.

    這句話之所以難翻譯,問題似乎在於,除去句子的主幹,之前有一個 But as…, 之後又有一個 making…。然而我最後發現,對這個句子有疑問的程序員其實根本沒搞懂 trade…for…的用法(翻譯為「基於 atom 的解決方案需要權衡延遲性和擴展性」),如果明白它是「犧牲 xx 換取 xx」之後,整個句子就相當好理解,也非常容易翻譯了:與所有基於 web 的系統一樣,基於 atom 的解決方案為追求可擴展性,增大了延遲,所以 atom 往往並不合適用對延遲要求極低的提示。

    要避免出現這個問題,首先要做的是改變「只看代碼不看文字」的習慣,或者至少要做到「閱讀文字之後,能明白它的意思與代碼是一致的」;另一個有效的辦法是通過閱讀純文字的英文資料來學習某些新的知識(比如關於原理的細緻講解),這個方法我推薦給許多朋友,非常有效。

    注意讀音。

    以前總聽人說,中國人學了很多年英語,其實是啞巴英語。不知道現在的情況有多少改觀,但就我所見,不少程序員雖然閱讀了大量英文資料,也會加入英文的討論組,也敢開口說,但是還會在讀音上出現許多問題。這裡說的「讀音」其實不是字正腔圓的口音,而是一些術語的讀音。

    計算機科學的術語來源非常廣泛。比如設計模式里,有一種模式叫 Facade,許多人往往直接讀作』f?kɑ:d,其實這個詞來自法文,正確的讀音其實是f?』sɑ:d;再比如「偽」代碼的 pseudo,正確的讀音是』su:d??,但是我很少遇到能把它讀對的程序員,許多人乾脆不會發這個音。

    也許有人說,這些問題不重要,大家「將錯就錯」,約定俗成就好了,但事情沒有這麼簡單。成都銘代碼科技有限公司小編記得有次參加技術聚會,有位嘉賓(技術高手)把框架名 chameleon(變色龍)讀成了』t??milj?n,而正確的讀音是k?』milj?n,因為沒有文字資料,許多人聽了半天才知道他說的是什麼,一 些不熟悉 chameleon 的聽眾更是到結束也沒明白。中國人聚會尚且如此,如果有機會參加中外技術交流,讀錯造成的問題就更大了。

    解決這個問題有一個非常好的辦法,就是學習美國大學的公開課,耶魯、斯坦福等學校的計算機系都放出了許多高質量的公開課,國內也有非常好的翻譯,學習其中的精品課程,不但能夯實基礎,還能順帶學會許多每天都要遇到,但不會或者讀錯的術語。

    鍛煉英文表達。

    如果你背過單詞,大概聽到過「被動單詞」和「主動單詞」的說法,前者是指「看到了能認出來」的單詞,後者指「表達時能主動應用」的單詞。就我的觀察,許多程序員掌握的大多數英語,都屬於「被動英語」——看到了能認識,但要表達同樣的意思,未必說得出來。

    初看起來這樣似乎沒有問題,可是查閱資料時,不會表達就成了大的障礙。相比中文技術資料世界中「無責任/不負責轉貼」泛濫的情況,英文技術資料的質 量要高得多,Google 搜索資料的準確性也遠高於百度;但是,要能夠順利應用英文資料,需要「主動」輸入信息,描述問題,這時候「被動英語」就成了大問題。

    小編自己多次遇到過這樣的情況:即便答案近在咫尺(輸入正確的關鍵詞,Google 的第一條結果就是答案),但程序員就是一籌莫展——因為他不知道計算機的「嘟嘟」聲是 beep,不知道搜「並發」資料應該用 concurrency,也不知道「死機」是 system halt,「黑屏」是 blank screen,「(登錄時)不停跳轉」是 infinite loop……

    要解決這個問題,最好的辦法是在閱讀資料時多用心,記住這些說法;另一方面,沒事的時候多瀏覽 stackoverflow 之類的網站,不要因為問題與自己無關而忽略,多留心這些問題到底是什麼,注意人家是如何表達的。只有經過這樣的鍛煉,才能在自己遇到問題時迅速找到可能的解決方案,節省時間。

    有人說,以漢語為母語的程序員,學習英語已經是迫不得已,不但要會閱讀,還要會讀、會表達,真是難上加難。這種說法有一定道理,但是在目前並沒有更好的解決方案,學會閱讀、認準讀音、鍛煉表達,確實可以給自己帶來好處。長遠來看,要改變這種情況,需要中文技術圈的所有人員努力貢獻高質量的資料(原創和翻譯都可以),如果只是「無責任轉貼」,既不親自驗證,也不整理格式,中文技術資料的整體質量只會持續惡化,反向逼迫更多的人把英語學好。

    以上是成都銘代碼科技有限公司小編給程序員學習英語的建議,僅供大家參考!


    我要是學好了英語就不用做程序猿了


    我的經驗是去youtube上看一些英文的科普視頻和紀錄片或是美劇, 一開始先開啟字幕,然後不懂的單詞直接查,堅持一段時間後,看著看著也都會了,興趣永遠是最好的老師。


    本來想說和你互相彌補的,我六級裸考500多,沒有炫耀的意思噢,不過聽你說的,貌似是專業英語,最近在做課程設計,表示完全不會編程~~


    程序員學英語最容易啦

    你在寫代碼的時候會遇到各種問題

    而這些問題一般百度是很難找到答案的,或者根本找不大答案

    這時候你就該研究科學上網啦

    用谷歌很容易找到解答,大部分都是英文的

    每天對著谷歌用習慣了,自然就學好英語啦


    用程序員的思維理解一種語言

    比如說,中學的時候我一直搞不清,多個形容詞修飾一個名詞,它們之間的排列關係,比如

    streamlined fast electrical 修飾 train。這三個詞語怎麼排列。

    用程序員的思維理解,可以用數學歸納法來表示:形容詞+名詞/名詞片語 = 名詞片語。

    因此我們可以遞歸構造:electrical train,然後將它視作一個新的名詞,streamlined electrical train,最後 fast streamlined electrical train。中文也是一樣的,火車是一個名詞,但是實際上火是形容詞,車是名詞。火車是形容詞+名詞構成的。電氣火車也是一樣。電氣是形容詞,火車是名詞,電氣火車既可以看成形容詞修飾名詞,也可以看成一個名詞。還可以構造出高速電氣火車……等等。更貼近本質更固有的特性粘附名詞的能力更強。這樣就很好理解了。

    interesting interested有什麼區別?這也是中學裡面經常考試但是我從來記不得的東西。但是如果你能發現被動語態、進行時和它們的聯繫,那麼就簡單了。he is interesting,用動詞時態方式翻譯,他正在有趣。he is interested,他被感興趣了。這兩個翻譯已經基本說明了問題,只是語句很生澀,前者就是他很有趣。後者就是他被xxx搞得很有興趣。從時態語態到兩個不同的形容詞的關係,我們其實可以這麼說,英語裡面根本就沒有時態語態!你可以認為,be doing並不需要從時態的角度理解,也可以從動詞形容詞化的角度理解。主語+be+doing和主語+be+形容詞其實是一回事。好比he is chinese,chinese是形容詞。那麼he is walking,walking也可以視作形容詞,雖然很少有人這麼看,但是如果我說interesting是形容詞,confusing是形容詞,那麼你就理解了。

    再比如構詞法,wise(不是表示智慧的那個單詞)作為後綴是什麼意思呢,看兩個例子,clockwise,按時鐘的方向,bitwise,按位(比如C語言的就是按位與),你既可以看做它是一個詞綴,也可以看做它是一個介詞。而clockwise既可以看做形容詞,也可以看做名詞+介詞後綴構成了形容詞。

    再來看一句話 he is at home,at home和clockwise沒有什麼本質不同,都是名詞+介詞,如果你把at home還是視作一個單詞的話,那麼它就是一個形容詞,所以he is at home其實和he is chinese也沒什麼不同。

    再比如he is going to do xxx,這是一個典型的用現在進行時表示將來時的時態轉換。而he is able to do xxx,is able to等價can,是一個典型的把be動詞泛化成助動詞的轉換形式。

    今天太晚了,我以後再在這裡補充。我發現詞性轉化、構詞、片語、關係從句等等都有非常簡潔的規律,這就像我們用一個很簡單的語法規則定義的編程語言(比如lisp或者lambda演算)就可以解決所有的圖靈等價的編程問題。

    我是一個英語很不好的程序員,我總結了下之所以我英語不好,只是我沒有用學編程的方法去學英語。


    出國留學.....


    靈格斯。谷歌翻譯… crtl C+V


    用英文描述問題然後用谷歌搜,嚴格的英文變數名命名,注釋上英文,文檔看英文,技術書看英文。

    最好有個技術水平英文水平完爆你的同事,而且他還特愛嘲諷你。

    最後練成了啞巴英語,whatever。


    推薦閱讀:

    編程是靠記憶嗎?
    0基礎學編程應該學哪種語言更迅速,看哪些書?
    C語言會被解釋成彙編語言,為什麼C會比彙編慢呢?
    如何學習開源代碼?有什麼好的書籍可以引導初學者學習?
    用 C++ 實現大整數的加減,思路是什麼?

    TAG:學習 | 程序員 | 編程 | 英語閱讀 |