重做Unix命令,快速有效学习新语言

jopen 12年前

  英文原文:Rodrigo Alves Vieira  编译:伯乐在线 – 黄利民

  注:本文译自巴西保利斯塔 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 命令的程序列表