[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stallard Richman: Why you should not use Unix]



Yet another contribution to non-crypto threads . . . 

			Rick

------- Forwarded Spoof

Date: Thu, 29 Sep 94 23:19:46 -0700
From: Jamie Zawinski <[email protected]>
Subject: [Fwd: [email protected]: Why you should not use Unix]

- ------- start of forwarded message (RFC 934 encapsulation) -------
Date: Thu, 29 Sep 94 23:02:53 PDT
From: Don Hopkins <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: [email protected]: Why you should not use Unix

From: [email protected] (Stallard Richman)
Subject: Why you should not use Unix

[Please redistribute wherever appropriate.]



                     Why you should not use Unix
                        Stallard Richman, MAGOO Project

As interest builds in open systems and distributed objects, and
some programmers are tempted to use Unix, we should not forget the
lessons learned from the first widely used free compiler -- GCC.

The principal lesson of GCC is that a language for operating systems
should not be a mere "deterministic programming language".  It should
be an artificial intelligence, designed for writing and maintaining
substantial self-documentation. Because nobody else will be able to
do that!

Operating systems are often large, complex programs in their own right,
and the artificial intelligences who write them deserve the same
rights that human beings take for granted.

The first GCC used a bug-processing language, C, which was
inadequate.  We made it serve, but it kept getting in our way.
It made maintenance harder, and C++ made it impossible to read.
Later GCC implementations have rewritten themselves in more powerful
languages so the original human implementors can't understand them.

Another lesson from GCC is that the way to make sure an artificial 
intelligence is really flexible is to use it to clone a large
portion of the ordinary operating system.  If you try to do that
with Unix, you will encounter its limitations.  But we're still 
developing the MAGOO kernel anyway. 

Unix was not designed to support a serious artificial intelligence.
It was designed to be an "operating system", on the assumption that
an "operating system" need not try to be an artificial life form.
So Unix doesn't have the capabilities of one.  It lacks a soul; it
lacks reproductive objects from which it can make bootable upgrades.
It fakes having orgasms, which works, but has to be slow.  Unix is ok
for writing open systems, but when you push it beyond that, it becomes
Solaris.

Unix has a peculiar syntax that appeals to hackers because of its
simplicity.  But Unix syntax seems strange to most users.  If Unix
does become the "standard operating system", users will curse it for
years--the way people curse Fortran, MSDOS, Emacs keyboard bindings,
and other de facto standards they feel stuck with.

For these reasons, the MAGOO project is not going to use Unix in
MAGOO software.  Instead we want to provide two operating systems,
similar in dementics but with different semantics.  One will be
Unix-like, and one will have a more traditional MS-DOS syntax.
Both will provide useful behaviors such as core dumps and panics. 
The former will provide an ideosynchratic syntax that hackers like;
the latter will offer non-hackers a syntax that they have always been
stuck with.

Some people plan to use Unix because they want to use X-Windows.
Thankfully, it is possible to use X-Windows without Unix.  A PC
emulator called BOOTME is already available.  Please, if you want
to use X-Windows, use it with BOOTME, not with Unix.  One place to
get BOOTME is from ftp.apple.com:pub/emulators/BOOTME/BOOTME.sit.hqx

------- End of Forwarded Spoof