Liam Proven wrote:
I'm sure that the UHH is old news to folk
hereabouts.
When I was a baby geek, I remember reading about this seminal text, a
distillation from a long-active mailing list called UNIX-HATERS. Now,
it's available for free:
http://research.microsoft.com/~daniel/unix-haters.html
(Yes, I know. Don't hold the URL against it.)
Good stuff. I picked up a physical copy awhile back. Everyone should
read it to get a sense of perspective. At least to learn that UNIX was
not and is not the end-all, be-all of operating systems. :)
I am not really a Linux expert - maybe a power user or
competent
sysadmin, at best. I do have lots of comparative OS knowledge, but
most of it is of systems that came along long after Unix. I'd be
really interested to know the thoughts of modern Unix gurus on how
much of the criticism in the UHH is still valid today.
I like to quote Jamie Zawinski on UNIX: "Of all the operating systems
that are at all relevant today, Unix is the best of a bad lot." I think
that's still fairly accurate. I hate Windows and UNIX equally :).
I think a lot of the criticism is still relevant, it's just become less
of an issue (and in some sense, people have become so accustomed to the
UNIX brain-damage that they don't even know there /is/ an issue in many
cases).
Terminal handling in UNIX, for example, is still handled poorly (not a
part of the core OS, left to user libraries, etc... so there's no
standardization except for ad hoc ones) but it's not even an issue today
because no one (except us) uses dumb terminals anymore and so it's OK to
treat everything like an emulation of a VT102 in your XTerm windows.
User friendliness, error handling, and consistency at the command line
is still a problem -- and this is one of those cases where people don't
even /realize /how limiting that is -- use a Lisp Listener on a 'bolix
for 10 minutes and you'll realize how much better a CLI could be
(command completion, inline help, /helpful error messages/)... same goes
for documentation -- the LispM had graphical, hypertext sensitive
documentation available at a mouse click or a press of the "Help" key
whereas in UNIX it's still man or info pages displayed in a terminal
window, for the most part. This may be less of an issue for the
user-friendly Linux distros (Ubuntu, etc.) which are less CLI oriented.
Shell scripts, pipes, etc... combined with the idea of "small programs
that do one thing" are still pretty ugly (not in concept, but in terms
of implementation sometimes - unidirectional data flow of byte streams
only, bad/nonexistent error handling, cryptic syntax), but now that we
have Perl and other languages to act as the glue between progams, this
is somewhat less of an issue. Whereas on the lispm, "shell scripts"
were Lisp code like any other on the system and so were extremely
powerful, debuggable, maintainable, etc... (can you tell I'm a LispM fan? :)
C's problems have been eclipsed 10-fold by the problems of C++ :).
Networking is better supported, but NFS is still pretty terrible :).
X-Windows is still a mixed bag, but I think we can safely say that it's
here to stay. At least hardware's more than caught up to it at this point.
Those are some of my thoughts. (And take them with a grain of salt, I
have the mind of an old codger, on his front porch with a shotgun
shooing hooligans off his lawn). I could go on for days. I won't :).
Josh