> I think there are major parts of the pressure
against "friendly" -
> which, as it is usually used, really means "novice-friendly".
> One is that novice-friendly correlates remarkably
well with
> expert-hostile. [...]
> The other is that novice-friendly also means
logically inconsistent
> special cases.
I'm not sure I agree with your two points here.
Specifically, I
don't agree that making a commandline user friendly necessarily makes
it "expert-hostile" as you put it,
No, it doesn't necessarily make it so. But they do correlate
remarkably well, at least in my experience.
or makes it impossible for said commandline to be
consistent.
Hm, yes, I overstated the case. "The other is that novice-friendly
usually means logically inconsistent special cases."
Let's start with the "rm *" example.
"rm *" is a particular
invokation of rm that isn't commonly used -- [...]
The problem is not what the interface looks like, or should look like.
The problem is implementing it. As it stands, the only entity that can
tell whether I typed "rm *" instead of "rm Makefile a.c a.o b.c b.o
etc" (or whatever) is the shell, so this requires a very ugly special
case in the shell.
That's why I was trying to design a general mechanism that supports the
desired effect without resorting to a special case - in this case,
knowing that the command spelled "rm" should have magic treatment for a
* on its command line (worse, it only sometimes should, if it supports
your -y suggestion). Something like my idea would permit moving the
code into rm, which is where it belongs; that way, the test is kept
with the program, so it's performed only when it should be.
Another example, from Symbolics Genera (which I've
been spending a
fair amount of time with). The Command line in the Lisp Listener has
a few wonderful features [...]
Perhaps _you_ like them. I remember when they came in and I really
wished I could turn them off entirely. If I'm typing to a lisp
listener, I want everything I type to be taken as Lisp code, never
(mis)interpreted as some kind of funky non-Lispy CLI.
But there's little reason to do a point-by-point reply to your example;
it's all a question of who finds what intrusive, helpful, whatever.
Really, if you have the means I really recommend
playing with Genera,
Indeed. Even if you never use it for anything else, even if you find
it stunningly inconvenient, it is valuable as one of the very few
examples of a (live today) system that is severely non-POSIX. It also
gives some ideas for alternatives to things that people used to
traditional systems never even question, like, "do we need
filesystems?".
And getting your head around Lisp, whether on a Lisp Machine or not, is
something I can't see as bad in any case.
I've literally had people tell me that "oh,
accidentally deleting
your files is a 'rite of passage'". I cannot express the level to
which I disagree with this idea :).
I think there is a little truth lurking in it, though. While it
doesn't have to take the form of a bad experience with rm, I think that
learning that Unix is an extremely YAFIYGI system is very important,
even to the point where it might be fair to call it a rite of passage.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B