
A few years from now and Computer Science graduates won't have seen a console terminal window let alone typed a command on one. Imagine the complexity of getting a computer science student to understand why they would type "ls -l" at a "$" prompt and then the effort required in trying to make sense of the text that comes back at them on the screen. What's this "drwxrwxr-x" crap? They'll have a lot better things to do than try and understand this archaic cryptic console terminal rubbish.
That has largely already happened. We have had an entire generation--perhaps two entire generations--brought up with the idea that the only way to use a computer is via a GUI, that a CLI is something archaic and unfashionable--even repulsive.
But remember what a computer is good for: it is good for doing tedious, repetitive tasks that humans are lousy at. But the only way to automate such tasks is via commands and scripts. A GUI only lets you perform those tasks that were programmed into the GUI; it doesn’t provide ways to synthesize those built-in primitive tasks into more complex sequences. Instead, it is the human that has to manually perform those sequences, over and over.
In short, a CLI puts the human in charge of the computer. A GUI is a great way to put computers in charge of humans.
I do disagree a bit. Workflow systems are (often) graphical user interfaces that allow you to define complex (and repetitive) operations. These systems follow the unix philosophy of command-line utilities, by having lots of reusable components (aka operators) that do more or less one thing (but do it well). These operators you can then slot together into complex programs by only having to parametrize them. Once designed, they don't have to run through the user interface, you can have them running as background processes. Cheers, Peter -- Peter Reutemann Dept. of Computer Science University of Waikato, NZ +64 (7) 858-5174 http://www.cms.waikato.ac.nz/~fracpete/ http://www.data-mining.co.nz/