The following started out as a comment to
this blog entry by Carla Schroder on linuxtoday.com. But it quickly became too long so I decided to simply post it here.
Any interface is a metaphor for what you're really doing: shifting zeroes and ones around. Absolutely everything you ever do on the computer is just a metaphor, whether it's using a GUI, the CLI or even programming.
And like language metaphors, different metaphors are useful in different contexts and apply...