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
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.
Dept. of Computer Science
University of Waikato, NZ
+64 (7) 858-5174