Down the design trail...

Mike Prince mprince@crl.com
Thu, 8 Dec 1994 02:27:51 -0800 (PST)


On Wed, 7 Dec 1994, Raul Deluth Miller wrote:
> Perhaps it would be a good idea to look at how the design of Unix and
> C were codependent.  [Or how Multics relied on PL/1 -- a language
> which would be considered small and light by today's "standards".]

If I remember correctly (from what little I know of early UNIX days) C was 
created to make programming the PDP easier (both writing C compilers and the 
source fed to those compilers).  C is very simple (26 operators), but very 
extensible (if you can call libraries that).  It was simple enough to get 
the project moving, but versatile enough to command the machine to do 
anything.

Why wasn't UNIX programmed in some other language of the day?  I'd bet 
that Ken figured C was the best tool for the job, and that UNIX depended on 
C a lot more than C depended on UNIX.  (although pairing the two was a good way 
to disseminate the language).

C got from UNIX a bunch of good libraries which made it truly useful, 
along with development tools, etc.  UNIX loved C's portability, along 
with relatively easy programming.

How does this relate to our project?

(Actually a new list of goals)

6.23 Our design should be simple enough to get off the ground
6.24 It should allow easy extensions
6.25 It has to be able to do anything the core CPU can (C's instructions are 
	actually pretty low-level)
6.26 It has to run fast
6.27 It has to be easy to program
6.28 Easy to port to different architectures

What did I forget?  What am I missing the point on?  What am I dead wrong 
about?

Mike