David A. Harding
Thursday, 24 May 2007
Someone recently suggested to a group of people I was a part of that we should explain to new users how to accomplish tasks using a Graphical User Interface (GUI) instead of the command line. I think this idea prevents users from effective learning. The Unix command line is, in many ways, a language; and GUIs are, in many ways, dumb automated translators. Worse, GUIs don't translate the command line language into native language; they translate it into an arbitrary set of concepts users must be familiar with (for example, most GUI file managers make directories look like file folders).
My family members have used GNU+Linux for a total of over 4 years (hi Jen, hi Dad). I've shown them how to do most things using the graphical tools, but they still feel unable to administer their own computers. I think that's because they never learned the command line language. Everyone who understands how Unix works either learned using the command line (top-down) or by reading about the API (bottom-up).
By explaining system administration to new users using a GUI, we make three mistakes:
Update 28 May 2007 @ 1100Z: J.D. Abolins comments on the above mistake three.