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