9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Mike Haertel <mike@ducky.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Fork: useless and painful?
Date: Wed,  9 Jul 2003 23:10:36 -0700	[thread overview]
Message-ID: <200307100610.h6A6AaBt072083@ducky.net> (raw)
In-Reply-To: <20030709210515.A6186@edinburgh.cisco.com>

>> The only thing I've noticed about it is that they've
>> changed around the default sorting order, and I can't find a way to
>> get the traditional behavior.  Actually, it's really irritating.
>
>I find it really bloody annoying,  however 'LC_ALL=C ls' put's things
>back the way they should be...

I've seen this on Solaris too, so it's hardly a Linux thing.  In
fact, I saw it on Solaris before I ever saw it on Linux.  So by the
time it started popping up on Linux, I knew what to do.  I am pleased
to report that the disease has not yet spread to FreeBSD, at least.

I think the root of the problem is that in Unix-family operating
systems (including Plan 9) the shell and utilities have tried to
serve two different masters, which is always hard.

On one hand, they form a programming language, for which well-defined
behavior is a paramount consideration.  But on the other hand, they
are a user interface.  And people like their interfaces to conform
to their prejudices and comfort zones, rather than having to conform
their behavior to fit a logically minimal interface.

This tension has been in Unix for a long time.  An early example
was the multi-column support in Berkeley "ls" which changed its
behavior depending on whether it thought it was talking to a human
or not.  The recent disease of making all kinds of utilities default
to using locale-specific sorting rather than native machine sorting
is just the latest in a long line of plagues.

The recent Unix/Posix changes are especially ironic and ill-conceived
because they are attempting to change command-line interfaces to
be more "user friendly" at a point in history when all the users
who need "friendliness" are pretty much exclusively using graphical
interfaces anyway.

On the other hand, it would be fair to say that a lot of the power
of Unix as a programming environment comes from developing familiarity,
through routine interactive use, with tools that one can subsequently
incorporate into programs.

So if you can get people to use things interactively you may be
able to turn them into programmers, and that may justify trying to
engineer the command line environment in fuzzy human friendly ways.
But while having logically unnecessary but supposedly human-friendly
features may be reasonable, it's surely NOT an goal that justifies
any design no matter how awful.


  parent reply	other threads:[~2003-07-10  6:10 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-09 18:19 ron minnich
2003-07-09 18:26 ` Scott Schwartz
2003-07-09 19:39   ` boyd, rounin
2003-07-09 19:45     ` Dan Cross
2003-07-09 20:05       ` Derek Fawcus
2003-07-09 20:09         ` andrey mirtchovski
2003-07-09 20:34           ` Derek Fawcus
2003-07-09 21:08           ` Vincent van Gelderen
2003-07-09 20:31             ` Sam
2003-07-09 21:35               ` boyd, rounin
2003-07-09 22:04               ` andrey mirtchovski
2003-07-09 22:31                 ` boyd, rounin
2003-07-10  1:11             ` ron minnich
2003-07-10  1:17               ` boyd, rounin
2003-07-09 20:14         ` boyd, rounin
2003-07-09 20:31           ` Dan Cross
2003-07-09 20:25         ` Dan Cross
2003-07-10  6:10         ` Mike Haertel [this message]
2003-07-10  6:59           ` boyd, rounin
2003-07-09 22:01       ` Geoff Collyer
2003-07-09 22:28         ` boyd, rounin
2003-07-09 22:54           ` OT lunix rants (Was: [9fans] Fork: useless and painful?) andrey mirtchovski
2003-07-09 23:26             ` boyd, rounin
2003-07-10  6:15         ` [9fans] Fork: useless and painful? Mike Haertel
2003-07-10  6:51           ` Geoff Collyer
2003-07-10  7:22             ` boyd, rounin
2003-07-10  8:59               ` Derek Fawcus
2003-07-11 11:24             ` Alexis S. L. Carvalho
2003-07-09 18:36 ` Dan Cross
2003-07-09 19:35 ` boyd, rounin
2003-07-10 14:59 ` rog
2003-07-10 16:47   ` David Presotto
2003-07-10 19:36     ` Stephen Wynne
2003-07-10 19:57       ` boyd, rounin
2003-07-10 20:06         ` Stephen Wynne
2003-07-10 20:16           ` boyd, rounin
2003-07-11  0:05         ` David Presotto
2003-07-11 15:01           ` ron minnich
2003-07-14  8:51           ` John Kodis
2003-07-14 13:24             ` Lucio De Re
2003-07-14 13:58               ` boyd, rounin
2003-07-14 15:20               ` ron minnich
2003-07-11  2:01 Andrew Simmons
2003-07-11  2:17 ` David Presotto
2003-07-11  2:29   ` boyd, rounin
     [not found]   ` <presotto@closedmind.org>
2003-07-13 19:44     ` Andrew Lynch
2003-07-11  2:32 ` boyd, rounin
2003-07-11 10:59 ` matt
2003-07-11  4:46 Andrew Simmons
2003-07-11  5:14 ` boyd, rounin
2003-07-11  6:21   ` northern snowfall
2003-07-11  5:43     ` boyd, rounin
2003-07-11  8:52   ` Douglas A. Gwyn
2003-07-11 13:27   ` D. Brownlee
2003-07-31 21:07 Joel Salomon
2003-07-31 22:19 ` Dan Cross
2003-08-01  3:00 ` Joel Salomon
2003-08-01 14:42 ` Jack Johnson
2003-08-01 22:26   ` Jim Choate
2003-08-02  8:05     ` Jack Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200307100610.h6A6AaBt072083@ducky.net \
    --to=mike@ducky.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).