

Linus Torvalds on Git - r11t
http://lwn.net/Articles/356626/

======
makecheck
His observations are actually true of any tool, not just "git". I want
everything I use to be robust, and not magical. (About the only exception is
perl, and that's because it is actually designed to be a Swiss army knife. But
even here, I've moved more toward python.)

Magic is the enemy of scripting, too; not only in shell scripts when running
programs, but in other languages when calling functions. It is very hard to
work around things that have stupid side effects. Every program/API should
have basic functions, with no default behaviors that are even slightly
unpredictable.

Output format is also related to this flexibility. For instance, to me, a
program that does something useful, but then chooses to pretty-print all its
output in hard-to-parse tables, has severely limited its value. (After all, if
I wanted it pretty, I could pipe to a program that makes it pretty. Then
again, it's more likely I want to use the data for something else first.)

