----- Original Message -----
well, and that is why there are tasks you *can * do 1000 times more
better in a terminal or in a 3-liner shell script with one or two params
and others where you are much faster using the GUI
this world is grey
hence everybody start using Linux should *know* there are terminal apps
and which ones and make his own decision if they fit the usecase and in
doubt be able to use both worlds
The way I view it, there are two fairly separate cases:
A) Application development (with a wide definition of an “application” as “teaching the
system to do something new”, i.e. all the way from simple aliases and pipelines through
10-line shell scripts all the way to 10k-line shell or Perl script monsters).
Yes, these things can’t be done in our GUIs nearly as easily, but there _really are_ large
groups of people who never will, don’t want to, or are perhaps even forbidden from, doing
such things (consider cashiers or bank tellers). So it is quite reasonable to hide these
capabilities until the user indicates some kind of interest in developing applications
(where “indicates interest” today probably means a Google search, so we can get away with
requiring one or two non-obvious but easy to do steps to get developer access).
Also note that the shell prompt is one of the worst application development environments
still in wide use. Very weak and inconsistent programming language, no module system,
minimal auto-completion/intelligence, no inline help, horrible debugging tools even
compared to 1980s Turbo Pascal. It _should_ be possible to have a programming environment
that is vastly easier to use than the shell prompt we have; but I have very little hope of
this improving in the medium term.
B) Application usage, interacting with applications somebody else wrote.
Here, GUIs _as a category_ (not necessarily the GUIs we are currently providing) should
always be better than CLIs _as a category_ simply because the GUI can in the worst case
just copy the CLI layout and behavior so it will not be worse than a CLI; and then there
are all the graphics and mouse interactions and shadows and animation that a GUI can do
but a CLI can’t.
So to get the best sofware system possible we should 1) actually write such better GUIs,
and 2) tell people that such better GUIs are available.
what makes me angry is "nobody should need to use a
terminal"
“Nobody should need to use a terminal” is a case of 2) above [and partially a case of
“shell is a horrible application development environment” from A)].
Note that "nobody should need to“ and “currently nobody needs to” are very
different.
And there is a major difficulty: doing 2) before 1) is done can be counter-productive,
counter-productivity or in the worst case just dishonest; but doing 1) without 2) is
likely impossible if the CLI capabilities keep expanding faster than we can add GUI
interfaces to the same capabilities. So I can see a case for being vocal about “nobody
should need to use a terminal” even now; but that case critically depends on the ability
of the community to actually write the better non-terminal interfaces.
Mirek