From: mcmahan@cs.unca.edu (Scott McMahan -- Genesis mailing list owner)
Subject: Re: What makes Unix Special?
Organization: University of North Carolina at Asheville
X-Newsreader: Tin 1.1 PL5
Date: Thu, 31 Dec 1992 17:55:57 GMT

Michael Hauben (hauben@cunixf.cc.columbia.edu) wrote:
: When ever I talk to someone about Unix or read a book about the
: Unix Operating System, it eventually comes up that is is
: wonderful. 

Self-evident truths always do! :)

:People and Books say that using Unix is a joy. This is
: a mystery to me.

It is successful for the same reasons C is: nothing better has
come along yet. There may be *better* things than UNIX and C, but
none that make the aggrevation worth the benefits. (Modula-2 has
everything C has, and a lot more, but it is a tremendous pain to
use.)

The success comes from a lot of different reasons:

It's easy to port to a new computer.

A corollary is, would you rather have a brand new, completely different
operating system to learn, or more UNIX, on your new system. Come
to think of it, would you rather use UNIX tools to repair a destroyed
UNIX file system, or learn a new file system when a disaster happens?
Anyway, more of the same is better than something entirely new.

It's fun to program in. System calls in UNIX are very easy to learn
and incorporate into your C or C++ program. Contrast this with VMS,
which is so incredibly complex to do system calls in. Plus, you
get to use C, and since UNIX is mostly written in C, they mesh
very well.

And people write neat programs like Emacs and Perl so you have a
*LOT* of *POWER* at your fingertips, which can be used and enjoyed
with a minimum of learnign investment. Once you learn some Emacs
commands, you can use them to type in programs, or read and send
mail, or organize your directory(-ies :)). Once you learn Perl,
you will know regular expressions and enough to use tools like
awk,shells, and sort (not that you'd want to :)). Sure these
have been ported into other OSes, but they tend to work best in
the native environment :).

You can network UNIX computers together easily -- in fact, the NFS
system is being adopted by other people like Novell so you can
network other things to UNIX. Plus TCP/IP comes with a UNIX computer,
ready to hook it to the internet :)

There's a lot of stuff, like X windows, designed to run on top of
UNIX. From all the accounts I've heard, X is a lot more stable than
say Windows.

Complete multi-tasking, background jobs, etc. You can have stuff
running *any* time you want it to.

Complete extend-ability. If there's something you want UNIX to do,
you can bet someone's already done it, and get it via FTP. And, 
if not, writing it isn't a big deal.

The cli -- command line interface -- has come a long way from sh.
tcsh, the best interactive shell out there now, has full command
line editing and recall (it even saves your commands between
sessions!). A program called "screen" allows a vt100-type terminal
to have multiple "windows" with multiple tasks going at once and
lets you switch between them. None of these tools has a particularly
steep learning curve.

But then you look at the alternatives (I could go on all day
about how great UNIX is :)) and there's nothing that compares
to it. UNIX evolves and changes as necessary, and is designed to
be able to do that easily.

Of course, UNIX itself has a lot of stuff a user has to learn before
the greatness becomes self-evident. Initial stumbling around
with the 10,000,000 programs in /bin and /usr/bin and fumbling with
Emacs (like I did :)) are eventually rewarded. UNIX is remarkably
consistent, despite a few inconsistencies in the utility programs, and
well designed. (The inconsistencies I've found can be explained like
ones in language: through the history of the programs)

Just a $0.02 opinionated view :^)

Scott