我想對所有新程序員說的一些話

作者:Joseph Gentle荷辕,前 Google Wave 工程師,開源實時協(xié)作編輯庫 ShareJS 開發(fā)者坑傅。
編譯地址:What I tell all new programmers
原文地址:http://blog.fujiji.com/what-i-tell-all-new-programmers/

我從學習編程開始已經(jīng)累計超過二十年了僵驰。截至現(xiàn)在,我開辦過的編程入門課程的數(shù)量也有半打之多唁毒。我在教授編程上花費的所有時間蒜茴,總數(shù)大約是一千多個小時。以下是我的一些肺腑之言浆西,至少給我的學生反復嘮叨過不下一次粉私。注意,這些內(nèi)容沒有前后順序之分近零。

歡迎來到編程世界诺核。

編程的確很難。

不管你有多么擅長編程久信,你的學習能力和解決問題的經(jīng)驗始終是拖慢你前進腳步的唯一因素窖杀。等你更加擅長編程這門技藝的時候,你就會對此更加確信裙士。編程還有一個有趣的特點 - 你永遠都不會對其產(chǎn)生厭倦感入客。如果你曾經(jīng)有過,你一定在什么地方做錯了潮售,你也許需要將已經(jīng)重新寫過的代碼再進一步優(yōu)化或者抽象一下痊项。

編程可能是你做過的所有事情當中,最為令人困擾的事情之一酥诽。

一般情況下鞍泉,編程都會經(jīng)歷嘗試解決問題、陷入困難肮帐、再次嘗試咖驮、后退一步边器、靈光乍現(xiàn)并且最終讓程序跑了起來這些步驟。感受困擾是很正常的事情托修,這種現(xiàn)象不可能完全消失忘巧。(當你的編程技藝更加嫻熟之后,你只需解決更難的問題睦刃,問題甚至可以不重樣)砚嘴。你應該學會適應這種令人困擾的感覺,因為這種困擾會讓解決問題變得越來越有滿足感涩拙。

無論你的問題有多么令人困擾访雪,一定有一個現(xiàn)成的解決方案济蝉。

在你的編程能力提高之后,你將會有更多的自信和更好的解決辦法。這不僅能讓這種困擾的感覺得以改善番宁,而且還會促使你進一步去解決難度更大的問題屿聋。(如果這些事情太簡單了凛篙,也就失去了趣味性M暧颉)

當我們還是小孩子時,我們幾乎在每一件事情上的表現(xiàn)都不盡人意旭贬,但是我們對此毫不在乎怔接。

作為成年人,我們把一件事情徹底搞糟的機會并不多骑篙。請擁抱這種感覺吧 - 這是一件很正常的事情蜕提,你正在從事著很多人壓根沒有能力從事的工作。

你應該知道學習編程的第一個小時與第十個小時的情景和狀況完全不同靶端,而且也與第一百個小時有很大差異谎势。

這個家伙在他的博客上聲稱,在完成一萬小時訓練之后杨名,他的高爾夫球球技已經(jīng)發(fā)生了質(zhì)的飛躍脏榆。編程實際上也是如此。

你所具有的魔力遠比你自己想象的強大得多台谍。

編程就像一種魔法须喂。好好想一想 - 我們?yōu)榱司帉懗绦颍W習和鉆研那些傳說中的圣書(計算機 + 互聯(lián)網(wǎng))趁蕊。魔法師可以教授其他魔法師如何創(chuàng)造他們各自的魔法技巧坞生。我們不僅可以同時進行上述這些活動,還能夠創(chuàng)造人們喜聞樂見的奇妙設備或裝置掷伙。(如互聯(lián)網(wǎng)和移動電話)是己。如果缺少了我們這種技能,這些創(chuàng)新根本無法實現(xiàn)任柜。

善于使用互聯(lián)網(wǎng)卒废。

你在學習編程的第一年里碰到的每一個問題沛厨,在你之前有很多很多人已經(jīng)體驗過了。所有問題的答案都記錄在互聯(lián)網(wǎng)上摔认。你搜索查詢的水平越高逆皮,快樂時光就會越快來臨。忠告:如果你不理解這些代碼的功能和原理参袱,請不要隨意使用它們电谣。

作為程序員,當我們編程時抹蚀,我們會隨身攜帶一個工具箱辰企。

這套工具就是我們的所有技能的一種體現(xiàn)。首先你需要學習的東西(變量况鸣、循環(huán)等等)就像是螺絲刀和榔頭,你會在每天的工作中用到它們竹观。當你的閱歷變得更加豐富時镐捧,你開始學習如何使用更加高級的工具,盡管這些工具的用處可能并不廣泛臭增,但是在解決某些特定問題上非常順手懂酱。(例如,樹狀數(shù)據(jù)結構誊抛、通配符列牺、Valgrind、各類代碼調(diào)試器等等)拗窃。編程所涉及的絕大多數(shù)領域(游戲設計瞎领、Web 開發(fā)、數(shù)據(jù)庫應用)也都有它們各自的領域問題和解決方案随夸。結果是九默,你解決過的任何問題,當再次碰到時宾毒,將會非常容易解決驼修。

每個程序都是由代碼組成的。

你可以閱讀诈铛、修改和鼓搗這些代碼乙各,甚至絕大多數(shù)其由他人編寫的程序。只要涉及計算機方面的內(nèi)容幢竹,學習資源到處都是耳峦。

掌握和精通編程的最好方法就是編寫很多很多的代碼。

你需要做的事情就是持續(xù)不斷地構建程序妨退。作為一名老師妇萄,我的最大職責就是盡我所能扶你上馬蜕企。你的知識和技能一旦超過一個臨界值,我坦白地告訴你冠句,只要給你足夠的時間轻掩,任何問題你都能自行解決。盡管放心大膽地堅持下去懦底。就像一位智者所說唇牧,『只要功夫深,鐵杵磨成針』聚唐。

閱讀很多很多代碼丐重。

總有一些程序員比我們都要『聰明』。他們已經(jīng)編寫了很多代碼和程序杆查,如果你愿意的話扮惦,你可以隨時閱讀它們∏阻耄或許它們現(xiàn)在就存放在 Github 上崖蜜。

據(jù)說,在你學習編程的過程中客峭,掌握第二門語言最為艱難豫领。

第一門編程語言幫助你形成了最基本的編程思維模式(我可是認真的哦!)舔琅,但是等恐,當你開始學習第二門編程語言的時候,你就必須重新審視這些基本原則和概念备蚓。(如果哪門編程語言不能讓你頗費些周章的話课蔬,那它或許不值得專門學習)。在第二門語言之后星著,你在學習新語言方面购笆,將會變得非常嫻熟。我自己就能在一周之內(nèi)快速掌握任何一門命令式語言虚循。

沒有最好的編程語言同欠。

有些編程語言及工具可能在一些特定問題上優(yōu)于其它編程語言。當你學習不同的編程語言時横缔,不要總是試圖遷移你已有的編程思維模式铺遂。相反,你應該在新的環(huán)境下茎刚,學習如何按照新習慣或者新模式進行思考與設計襟锐。

保持童心,多做傻事膛锭。

編程本身就像一套巨大的樂高玩具粮坞,充滿了各種各樣亟待解決的有趣問題蚊荣。請在讓這個玩具變得更加有趣這件事情上多花些心思。這項任務比其他任何一門學科的作業(yè)都要有趣許多莫杈。

最好的程序員喜歡在工作之余開展一些額外的編程活動互例。

如果你真的擅長編程,你可能會發(fā)現(xiàn)你自己從來就沒有離開過『工作』筝闹。

當你在編程過程中陷入某種困境時媳叨,請在紙張上編寫你的程序。

我沒有開玩笑关顷。這個辦法非常神奇糊秆。在編程競賽中,這個方法幾乎就是標配议双。(我之所以認為這個辦法有效痘番,是因為當你無需考慮語法時,你會有更多腦力用于解決實際的問題平痰。)

我相信我時常還會冒出一些其它方面的建議 - 但是正如上述絕大多數(shù)建議那樣夫偶,如果它們真的非常重要,你一定會積極開動腦筋觉增,自己把它們想出來。

祝你編程愉快 :D

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翻斟,一起剝皮案震驚了整個濱河市逾礁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌访惜,老刑警劉巖嘹履,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異债热,居然都是意外死亡砾嫉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門窒篱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焕刮,“玉大人,你說我怎么就攤上這事墙杯∨洳ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵高镐,是天一觀的道長溉旋。 經(jīng)常有香客問我,道長嫉髓,這世上最難降的妖魔是什么观腊? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任邑闲,我火速辦了婚禮,結果婚禮上梧油,老公的妹妹穿的比我還像新娘苫耸。我一直安慰自己,他們只是感情好婶溯,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布鲸阔。 她就那樣靜靜地躺著,像睡著了一般迄委。 火紅的嫁衣襯著肌膚如雪褐筛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天叙身,我揣著相機與錄音渔扎,去河邊找鬼。 笑死信轿,一個胖子當著我的面吹牛晃痴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播财忽,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼倘核,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了即彪?” 一聲冷哼從身側(cè)響起紧唱,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隶校,沒想到半個月后漏益,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡深胳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年绰疤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舞终。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡轻庆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出敛劝,到底是詐尸還是另有隱情榨了,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布攘蔽,位于F島的核電站龙屉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜转捕,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一作岖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧五芝,春花似錦痘儡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至醉途,卻和暖如春矾瑰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隘擎。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工殴穴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人货葬。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓采幌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親震桶。 傳聞我的和親對象是個殘疾皇子休傍,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 本文把程序員所需掌握的關鍵知識總結為三大類19個關鍵概念,然后給出了掌握每個關鍵概念所需的入門書籍蹲姐,必讀書籍尊残,以及...
    dle_oxio閱讀 11,083評論 6 244
  • 產(chǎn)品設計的出發(fā)點有很多,但是當今最為流行的便是以用戶為中心的設計路徑淤堵,我們在表達自己的設計作品時,往往會被問到為什...
    汪繼志閱讀 2,362評論 0 7
  • 我不懂挽留 亦不會奢求 該走便走 挨過春 挨過秋 總會 得我之有
    希雨啾閱讀 310評論 2 2
  • 無論要多久多長顷扩,我也會回頭想起他拐邪,在2007年的那個舞臺上,手足無措隘截,笨拙地像個傻瓜一樣扎阶。他說他是被唱歌俘虜?shù)娜速|(zhì)...
    流波上的白鳥閱讀 203評論 1 2