Path: utzoo!utgpu!water!watmath!clyde!rutgers!topaz.rutgers.edu!brandx.rutgers.edu!webber
From: webber@brandx.rutgers.edu (Webber)
Newsgroups: comp.arch
Subject: machine specific languages (was: Re: C machine)
Message-ID: <673@brandx.rutgers.edu>
Date: 17 Dec 87 09:06:32 GMT
References: <7535@alice.UUCP>
Organization: Rutgers Univ., New Brunswick, N.J.
Lines: 28

In article <7535@alice.UUCP>, dmr@alice.UUCP writes:
> djsalomon@watdragon.waterloo.edu, in common with lots of others,
> thinks that C was designed to be optimal on the PDP-11, in particular
> because of the ++ and -- operators.  Actually, this is much less
> so than usually believed.
> ...
> There is in fact rather little that is PDP-11 specific in C.
> Aside from things that are nearly universal these days, it prefers ...

Well, it seems to me that the PDP-11 has had a major influence on subsequent
architectures, so the fact that many things are nearly universal today
does not contradict the notion that they are PDP-11 specific vis a vis
the time when C was designed.

To me, a language is machine specific when it supports exactly the set of
primitive data objects that the machine supports with exactly the same
set of primitive operations.  

(Un)fortunately, I don't have a PDP-11 instruction set handy to go
down the list of which operators in PDP-11 machine code are primitives
in C and which primitives in C correspond to single machine
instructions, as well as which memory types can be directly declared
and which declarations correspond to memory types in the architecture.
Clearly the PDP-11 instruction set wasn't as restrictive as C, but C
does rather nicely mirror the kinds of standard conventions that a
PDP-11 assembly programmer would typically use.

-------- BOB (webber@athos.rutgers.edu ; rutgers!athos.rutgers.edu!webber)