Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] shell



Pier Fumagalli writes:
 > On Aug 16, 2010, at 0:06, "Stephen J. Turnbull"
 > <stephen@example.com> wrote:
 > > Pier Fumagalli writes:
 > > 
 > >> According to one definition (at least the one I found) it means
 > >> both:
 > >> 
 > >> http://en.wikipedia.org/wiki/Shell_(computing)
 > > I gather you didn't bother to read the notices at the top that
 > > warn that that article is bogus and not authoritative?

 > I gather you didn't bother to check that no one in the revision
 > history or the discussion page ever challenged the idea that a
 > shell can be a GUI, too?

No, I didn't.  Why should I, when the article clearly is written by
an amateur and not in final form?  The fact that the folks who
commented didn't point out a major problem is meaningless until the
article has been accepted as being in reasonable shape.

What's important to me is

1.  There is a standard definition of "shell" that all of the articles
    refer to: an interactive command language for a program, usually
    the operating system itself.  In computing, "language" implies
    programming.  COMMAND.COM provides a programming language and an
    interface for feeding that to the shell (.BAT files).  Explorer
    does not.  PowerShell does, but guess what?  PowerShell is a fancy
    terminal with some shortcut buttons.  What gives it power is the
    textual command language, not the buttons.  Indeed, there are a
    lot of graphical shells in that sense (eg, the git GUI).  But in
    the end they all have a common feature: *they implement the
    command line interface*.

2.  All of the articles that argue that "shell = UI" clearly are way
    overgeneralizing.  Every program has a UI, but not all programs
    are shells.  What makes a UI a shell is a general-purpose command
    language which allows access to all features of the program being
    controlled in some way.  It is possible to have a graphical
    language, but the one implemented by Explorer is extremely poor.
    It at best allows you to pass one argument to commands, but the
    command must be specially written to understand the drag and drop
    protocol, or to use GUI dialogs to ask for the arguments.  And
    none of the articles give a examples of GUI shells for X (the
    article you rely on mentions GNOME, KDE, and Xfce, which are
    clearly not shells because they are not single programs, they are
    desktop environments).

3.  Given the existence of the terms "UI" and "GUI", it is *useful* to
    restrict the term "shell" to "program implementing and
    interactive, general-purpose command language."  I'm sure it's
    *possible* to create a graphical command language; I just haven't
    seen one yet, and Explorer sure isn't it.


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links