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

2012-11-05 10:32

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

by

at 2012-11-05 02:32:42

original http://blog.jobbole.com/29844/?utm_source=rss&utm_medium=rss&utm_campaign=%25e9%2580%259a%25e8%25bf%2587%25e9%2587%258d%25e5%2581%259aunix%25e5%25b0%258f%25e7%25a8%258b%25e5%25ba%258f%25e6%259d%25a5%25e5%25bf%25ab%25e9%2580%259f%25e5%25ad%25a6%25e4%25b9%25a0%25e6%2596%25b0%25e8%25af%25ad%25e8%25a8%2580

注:本文译自巴西保利斯塔 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, 这种技巧效果会更好。

作为开发人员,我们常需要学习东西。我认为这样的小习惯(技巧)会有所作为的。

Unix where there is a shell there is a way

 

译注:如果你在学习 Haskell,Haskell 官方 wiki 有份实现 Unix 命令的程序列表

 

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

【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】

 

相关文章