重做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, 这种技巧效果会更好。
作为开发人员,我们常需要学习东西。我认为这样的小习惯(技巧)会有所作为的。
译注:如果你在学习 Haskell,Haskell 官方 wiki 有份实现 Unix 命令的程序列表。
英文原文:Rodrigo Alves Vieira,编译:伯乐在线 – 黄利民
【如需转载,请标注并保留原文链接、译文链接和译者等信息,谢谢合作!】