Was B, or rather BCPL, influenced by Algol68? It too had
<var> <op>:= <value>
as a shorthand for
<var> := <var> op <value>
Its declaration
<type> <name>
is the same as in C. Though in A68 this was a shorthand for
ref <type> <name> = loc <type>
On Nov 28, 2021, at 1:31 PM, Ken Thompson
<kenbob(a)gmail.com> wrote:
The PDP-11 had very little the syntax of B expressions.
All of that was in place in B long before the PDP-11.
To be honest, the byte addressing of the 11 was a
significant hindrance. It was the genius of Dennis
that was able to conquer the 11 as he installed types
into the language.
So, my opinion, the PDP-11 had no design on the
type system of C and moreover it was not even helpful.
On Sun, Nov 28, 2021 at 1:17 PM Jon Steinhart <jon(a)fourwinds.com> wrote:
Rob Pike writes:
Is there a symbiosis between C and the PDP-11
instruction set? The
machine was vital to C and Unix's success, but primarily due to the
availability of a department-sized machine. Was the instruction set a
significant component? Most Unix programmers wrote little to no
assembly, although perhaps more read what came out of the compiler.
But did it matter? Auto-increment and -decrement are often cited in
this story, but they are not that important, really, and were around
well before the PDP-11 made its appearance.
I'm curious to hear arguments on either side.
-rob
Well, might just be my personal experience, but most of the machines
that I had used before the 11 were classic accumulator architectures.
I feel that the 11's pointer architecture combined with autoincrement
and autodecrement was an amazing fit for C. If I remember correctly,
it was very cool to have *p++ = *q++ be a single instruction.
BTW, one thing that I forgot in my earlier post is that I think that
the book also omitted any mention of Creative Commons. The book did
talk about the business of the web and such, and it's my opinion that
CC was an an essential third prong. The machines were one, the software
was another, the third was content and CC was a big enabler.
Jon