1. 程序員學習英語的方法最好詳細點
個人覺得方法因人而異,靠自己勤奮努力的同時,也需要找到合適的方法才行,
希望能夠幫助到你~
如果你還有啥不明白的可以繼續追問
2. 做程序員必須非常熟悉英語么
寫程序不需要非常熟悉英語,但是做程序員必須非常熟悉專業英語。因為程序員不只是個會寫點代碼的人,他還需要看很多資料。
3. 程序員是不是都需要英語很好
不完全要英語很好,因為編程需要接觸的英文都是比較固定那幾個,但是英語好的話在查外語資料或檢查程序報錯的時候會比較容易一點
4. 程序員如何學英語 零基礎也能成為重慶北大青鳥程序員
因此,據我觀察,即便剛入門不久的程序員,面對陌生的問題,一般也能查閱英文文檔,找到需要的信息。但同時,我也發現,經常閱讀英文文檔的程序員,英語水平許多時候卻並不像「經常閱讀英文」的樣子。下面我列幾點自己的學習心得,供大家參考。 讀文檔不能只讀代碼 讀文檔只讀代碼,是很多程序員的習慣,也是導致程序員雖然讀了很多英文資料,英文水平卻沒有相應提高的原因之一。以前曾在《程序員》上看到介紹閱讀技術圖書方法的文章,提出過「先代碼後文字」的方法,也就是「先看代碼,看不明白再看文字」。這種閱讀法能極大提高閱讀效率,但如果技術圖書只看代碼就足夠,還要文字干什麼呢?很多時候,代碼只是冰山一角,代碼背後的思維和邏輯才是真正的重頭戲,只有寫成文字才能解釋,也只有閱讀文字才能理解。 比如,代碼都是「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 scalability for latency, 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?u],但我很少遇到程序員能把它讀對,許多人乾脆不會發這個音。 也許有人說,這些問題不重要,大家「將錯就錯」,約定俗成就得了,但事情沒有這么簡單。最近我參加某個技術聚會,有一位嘉賓(技術高手)把框架名chameleon(變色龍)讀成了['t∫?milj?n],而正確的讀音是[k?'milj?n],因為沒有文字資料,許多人聽了半天才知道他說的是什麼,一些不熟悉chameleon的聽眾更是到結束也沒明白。中國人聚會尚且如此,如果有機會參加中外技術交流,讀錯造成的問題就更大了。 要解決這個問題,有一個非常好的辦法,就是學習美國大學的公開課,耶魯、斯坦福等學校的計算機系都放出了許多高質量的公開課,學習其中的一些精品課程,不但能夯實基礎,還能順帶學會許多每天都要遇到但不會或者讀錯的術語。比如我就從中學到,數據類型char的讀音是[kɑ:],而不是[t∫ɑ:]. 鍛煉英文表達 如果你背過單詞,大概聽到過「被動單詞」和「主動單詞」的說法,前者是指「看到了能認出來」的單詞,後者指「表達時能主動應用」的單詞。據我觀察,許多程序員掌握的大多數英語,都屬於「被動英語」——看到了能認識,但要表達同樣的意思,未必說得出來。 平時這樣似乎沒有問題,但如果要查閱資料,不會表達就造成了大的障礙。相比中文技術資料世界中「無責任/不負責轉貼」泛濫的情況,英文技術資料的質量要高得多,Google搜索資料的准確性也遠高於網路;但要能夠順利應用英文資料,需要「主動」輸入信息,描述問題,這時候「被動英語」就成了大問題。 我遇到過很多次這樣的情況:即便答案近在咫尺,輸入正確的關鍵詞,Google的第一條結果就是答案,但程序員就是一籌莫展——因為他不知道計算機的「嘟嘟」聲是beep,不知道搜「多線程」資料應該用concurrency,也不知道「死機」是system halt,「黑屏」是blank screen…… 要解決這個問題,最好的辦法是在閱讀資料時多用心,記住這些說法;另一方面,沒事的時候多瀏覽stackoverflow之類的網站,不要因為問題與自己無關而忽略,要多留心這些問題到底是什麼,是如何表達的。這樣,在自己遇到問題時,才能迅速找到可能的解決方案,節省時間。 有人說,以漢語為母語的程序員,學習英語已經是迫不得已,不但要會閱讀,還要會表達,真是難上加難。這種說法有一定道理,但在目前並沒有更好的解決方案的情況下,學會閱讀、認准讀音、鍛煉表達,確實可以給自己帶來好處。長遠來看,要改變這種情況,需要中文技術圈的所有人員努力貢獻高質量的資料(原創和翻譯都可以),如果只是「無責任轉貼」,既不親自驗證,也不整理格式,中文技術資料的整體質量只會持續惡化,反向逼迫更多的人把英語學好。 英語是一門輔助工具,但是計算機技術卻是實實在在能夠幫助你成功就業的保障,相信重慶北大青鳥江北校區學子們能夠充分利用在校資源,讓自己的計算機英語以及計算機技能同時提升,最終達到高薪就業的目的。北大青鳥祝你成功!
5. 程序員談如何掌握計算機專業英語
干程序員是一項很辛苦的工作,要成為一個高水平的程序員尤為艱難。這是因為計算機軟體技術更新的速度越來越快,而這些技術大多來源於英語國家,我們在引進這些技術時往往受到語言障礙的制約,嚴重影響到對新技術的理解和消化。首先編程本身就依賴於英語,雖然現在技術的發展,可以使得某些開發工具在變數名和欄位名中支持中文,但還未發現能夠完全使用中文的編程語句。其次,軟體開發中的技術文檔和資料大都是來自英文,即使有翻譯好的,不是晦澀難懂,就是譯法混亂,比如:roll back就有"回滾"、"回退"、"返回"、"重算"等多種譯法,又如我們遇到翻譯後的術語"域",往往不清楚譯者是根據"field"、"region"還是"domain"所譯(如果閱讀原文則不存在這些問題)。還有更重要的一點,這就是等待譯文會嚴重影響我們掌握新技術的時間。通常,一本外版計算機圖書從獲得版權到翻譯出版要一年的時間。就算原作者消化新技術和寫作的時間最短為一年,那麼加起來這已經超過通常軟體版本的更新周期(軟體版本的更新周期一般是1年至2年),這意味著當你通過閱讀翻譯資料掌握這一版本的軟體時,可能該版本已經淘汰至少是面臨淘汰。
當然,這並不是說國內沒有好的譯者和譯文,也不是說不能通過閱讀譯文來進行學習。而是說通過別人翻譯的間接閱讀風險較大,如果能掌握計算機英語,利用第一手原文資料進行學習,除了效率之外,被誤導的風險較小。比如:國內引進的一部外版好書《Java編程思想》(原書名《Think in Java》),其翻譯水平較差,就嚴重影響了閱讀和學習,不少讀者深有體會。如果讀著有著過硬的計算機英語水平就可以按照書上提供的作者網址下載原文閱讀,不但可以獲得原汁原味的感受,還可以免費下載該書最新的第二版。
因此,我們可以得出這樣的結論,干程序員這行實在是離不開英語。實際上,可以毫不誇張地說英語是IT的行業語言。由於英語的優勢,印度、愛爾蘭等國的軟體業在國際上比我們更有競爭力,這並不是說我們的程序員在編程和開發能力上不如別人,而是在使用計算機英語水平上差距太大。不久前在南京舉辦的一次高規格的軟體開發交流會上,就遇到過印度專家講課,英文翻譯譯不下去的情景,因為太多的IT專用術語和縮略語以及很強的專業知識使得沒有計算機背景的英語專業翻譯無能為力,而在場的開發人員因為語言障礙又無法和印度專家直接溝通,錯過了一次極好的交流學習機會。現在,已經有越來越多的程序員意識到計算機英語的重要性了,這種壓力一方面來自進一步向高級程序員或資深IT開發人員發展的需要,一方面來自於後起之秀不斷競爭的威脅。對於前者,沒有較好的計算機英語,能難進一步發展,晉升到更高的技術職位;對於後者,不少大學已經開始使用原版教科書進行專業授課,畢業生的計算機英語水平實在是後生可畏,挑戰是不言而喻的。