David-Heinemeier-Hansson

Rails之父:我怎麼學會寫程式的?

DHH,本名David Heinemeier Hansson,Basecamp合夥人、Google 2005年度駭客、業餘賽車手,他最知名的身份是網路開發框架Ruby on Rails的發明者。

DHH曾在部落格發表他學寫程式的心得:

https://signalvnoise.com/posts/2582-how-do-i-learn-to-program

看過之後覺得獲益良多,特此翻譯出來和大家分享。


我怎麼學會寫程式的?

我花了二十幾年才真的學會怎麼寫程式。不是因為我嘗試的不夠,而是因為我一直用錯誤的方法。我以前都看著那些教材、範本照做,寫出一些我根本沒興趣繼續往下寫的東西。這是為了學習而學習。

我知道這方法對有些人管用,這些人就是很樂意學習新東西。我真羨慕你們。但這對我不管用,而且我知道很多人也沒辦法用這種方式學習。

為了解決鳥事而寫程式———對我來說這才管用。寫程式是因為非這麼做不可。寫程式是因為我他媽的在乎自己所寫的東西,而且我希望它越快完成越好。

這就是我學寫Ruby的方法。我把目標定為,用Ruby把Basecamp寫出來。當你因為一個目標而去學習,每件事的先後順序就變得非常清楚。我到底該做什麼才能讓這幾個訊息順利在Ruby執行?哦,我需要在這裡加一個迴圈。哦,我需要在哪裡抓些資料庫的資料出來。

決定目標的當下,你的點子就完成一半了、而且你還知道了該怎麼做。

簡單來說,就是從一些確實的東西開始做起,接著讓時鐘發出「滴」聲,然後讓它發出「答」聲。

  • http://zacklive.com ZackLive

    他說的很有道理, 但不適用於初學者, 要是沒有前面那二十幾年”花”掉的經驗, 當他寫Basecamp的時候, 怎麼可能”每件事的先後順序就變得非常清楚”, 感覺每個寫程式的人都必須經過摸索的階段。正確的解讀應該是, 當你摸索得差不多了, 就應該為一個目標, 重新學習, 然後你會發現很多東西都變得清晰多了。