
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