Ramblings and questions regarding Fedora, but stemming from gnome-software and desktop environments

Miloslav Trmač mitr at redhat.com
Fri Jan 2 20:05:32 UTC 2015


----- 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


More information about the devel mailing list