注:本文譯自巴西保利斯塔 18 歲程序員Rodrigo Alves Vieira 的文章《Learn a Programming Language Faster by Copying Unix》。
對於學習新編程語言的童鞋來說,看書是個選擇,閱讀他人代碼也挺好,但要說的效率,我覺得沒什麼比實際動手寫代碼更高效了。
我在這篇文章中的建議就是:重做 Unix 程序。
如何著手?
假設你在學習 Python,你應當嘗試做一個和 cat 命令功能的程序,或實現 tree 命令。
Unix (命令)程序通常都很精簡,功能單一,並且做得都很好(傳說中的“Unix哲學”),它們就是學習編程的完美典范。針對一個問題,用最佳方式解決。
Chris Wanstrath 很久之前有一個相關范例。
在接觸新語言時,通過重做這些小程序,可極大幫助學習了解該語言的類與函數。
這裡有個例子:
#!/usr/bin/env ruby # 在 Ruby 中重做 cat 命令: ARGV.each do |file| puts File.read file end
雖然學習任何編程語言都采用這種方式,但如果你在學習腳本語言,如Ruby、Python,甚至是 Node.js, 這種技巧效果會更好。
作為開發人員,我們常需要學習東西。我認為這樣的小習慣(技巧)會有所作為的。
譯注:如果你在學習 Haskell,Haskell 官方 wiki 有份實現 Unix 命令的程序列表。
英文原文:Rodrigo Alves Vieira,編譯:伯樂在線 – 黃利民