對於學習新程式語言的童鞋來說,看書是個選擇,閱讀他人程式碼也挺好,但要說效率,我覺得沒什麼比實際動手寫程式碼更高效了。
我在這篇文章中的建議就是:重新實現 Unix 命令。
如何著手?
假設你在學習 Python,你應當嘗試做一個和 cat 命令功能的程式,或實現 tree 命令。
Unix (命令)程式通常都很精簡,功能單一,並且做得都很好(傳說中的“Unix哲學”),它們就是學習程式設計的完美典範。針對一個問題,用最佳方式解決。
Chris Wanstrath 很久之前有一個相關範例。
在接觸新語言時,通過重做這些小程式,可極大幫助學習瞭解該語言的類與函式。
這裡有個例子:
1 2 3 4 5 6 7 |
#!/usr/bin/env ruby # 在 Ruby 中重做 cat 命令: ARGV.each do |file| puts File.read file end |
雖然學習任何程式語言都採用這種方式,但如果你在學習指令碼語言,如Ruby、Python,甚至是 Node.js, 這種技巧效果會更好。
作為開發人員,我們常需要學習東西。我認為這樣的小習慣(技巧)會有所作為的。
譯註:如果你在學習 Haskell,Haskell 官方 wiki 有份實現 Unix 命令的程式列表。