And as already been noted, C was first compile on a PDP-7, which had a simple instruction set but was most definitely a CISC machine too. ;)
It also explains one of the reasons why strings in C are null terminated. There were two modes of thought back in those days, ‘Pascal’ strings, which have the string size encoded in a single byte at the start of the string, and ‘C’ strings, which terminate a string with a NULL. Pascal string length was obviously limited by the max value of a byte - null terminated strings could be just about any possible size. Record eliminators of course, are an entirely different thing, but a C string could easily be a few thousand bytes long. Handy indeed for things like text processing, which is what the AT&T guys were selling Unix and C to their bosses for. -Paul > On Feb 1, 2018, at 2:26 AM, Robin Vowels <[email protected]> wrote: > > From: "Jon Perryman" <[email protected]> > Sent: Wednesday, January 31, 2018 3:19 PM > > >>> Robin Vowels wrote: >>> And I understand that RISC processors came long after C. >> C was developed on a PDP-11. I believe that the PDP-11 was a RISC machine. > >> Even so, I think it had byte instructions. > > The PDP-11 was NOT a RISC computer, it was a CISC (Complex Instruction Set > Computer). > > It had a variety of instruction formats, and various instruction lengths. > > RISC computers are characterised by instructions of a fixed length, > each of which can be executed in a fixed amount of time. > The various stages of the instruction fetch and execute cycle can be > overlapped > with other instructions. > > This genre (RISC) was not developed until many years later. > > --- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus
