From: smr@magoo.ai.mit.edu (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