<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><font color="#ff0000">On Mon, Jan 29, 2018 at 8:20 AM, dave porter <span dir="ltr"><<a href="mailto:dave_list_addr@verizon.net" target="_blank">dave_list_addr@verizon.net</a>></span> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><font color="#ff0000">I recall reading something from Dennis Ritchie to the effect<br>
that if he'd been able to get hold of a BLISS compiler he<br>
wouldn't have bothered to invent C.  But DEC held on to<br>
its compilers tightly.</font></blockquote><div><br></div><div class="gmail_default"><font face="arial, helvetica, sans-serif">​</font><font color="#0000ff"><font face="arial, helvetica, sans-serif">Hmmm.. </font></font><span style="color:rgb(0,0,255);font-family:arial,helvetica,sans-serif">to be honest this </span><span style="font-family:arial,helvetica,sans-serif;color:rgb(0,0,255)">sound nice but I suspect it is more like legend/wishful thinking than something Dennis would have said.   Unfortunately we can not ask him, but I can report a little on how both languages came into being (actually all three cause you need to include B here also) as I know/knew the designers of both and was a witness to a small portion of the stories.  You can then </span><font color="#0000ff" face="arial, helvetica, sans-serif">decide for yourself.</font></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff"><font face="arial, helvetica, sans-serif">Two related things that I did not mention yesterday when I was describing the differences between the languages are that BLISS has only one data type (a 'word') and is 'typeless' in the sense of Pascal or other strongly typed languages.   C was originally 'weakly typed' and only later added strong typing (and why is important).  Also remember that at the time BLISS was designed, Wulf specifically targeted the PDP-10(the PDP-11 </font></font><font color="#0000ff"><font face="arial, helvetica, sans-serif">did not yet </font></font><font color="#0000ff" face="arial, helvetica, sans-serif">exist </font><font color="#0000ff"><font face="arial, helvetica, sans-serif">and the PDP-8 was explicitly a non-target).  </font></font><font color="#0000ff" face="arial, helvetica, sans-serif">I'm pretty sure if you read Wulf's original paper, they were not trying to be architecture independent.  Also it was designed to be an >>implementation<< language for the PDP-10.  Another point is that Wulf and team had other tools for the PDP-10 when they wrote it - including an OS.</font></div><div class="gmail_default"><font color="#0000ff"><font face="arial, helvetica, sans-serif"><br></font></font></div><div class="gmail_default"><font color="#0000ff"><font face="arial, helvetica, sans-serif">B (C direct predecessor), </font></font><font color="#0000ff" face="arial, helvetica, sans-serif">like BCPL and BLISS, was untyped and worked with words only.   In fact, Ken is on record as saying that he was originally starting to develop a Fortran compiler for the PDP-7 to run on UNIX (both of which had been written in PDP-7 assembler).   He ended up with a new semi-interpreted language that was good enough to write utilities; i.e. B was born and started a life of its own.  He was clearly influenced by BCPL and had just been using PL/1 with Multics.   Clearly he was trying to create an implementation language for the PDP-7.  But Ken was not using any tools other than his own for the PDP-7 - in fact he was originally cross assembling from a GECOS system.    Once UNIX was 'up' on the PDP-7, it was minimal compared to TOPS-10, that Wulf had used [check out:  </font><a href="https://github.com/DoctorWkt/pdp7-unix">pdp7-unix is a project to resurrect Unix on the PDP-7</a><font color="#0000ff">].</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">BTW: another salient point is that Ken, Dennis and team had previously tried to purchase a PDP-10 for their lab, and had been rejected by their management.   The whole reason Ken was working on the PDP-7, was that he borrowed it from another group and he had access to it.   They were using GCOS as their 'main systems' and the PDP-7 system was being developed as an independent project.</font></div><div class="gmail_default"><font color="#0000ff" face="arial, helvetica, sans-serif"><br></font></div><div class="gmail_default"><font color="#0000ff" face="arial, helvetica, sans-serif">So by the time of moving Unix to PDP-11, Dennis had switched from an B interpreter to a B compiler; which then begat NB, ney C [</font><a href="https://www.quora.com/What-language-was-the-first-C-compiler-written-in">See Clem Cole's Quora answer What-language-was-the-first-C-compiler-written-in</a><font color="#0000ff">].   So the point is that Dennis was building tools to support their project and C was just continuing the development of Ken's B.</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">One can argue, why did Ken not just build something more like BCPL instead of B?  I can not say, maybe the brevity of { } from PL/1 was more attractive than the Algol BEGIN/END style?   I don't know.   But I suspect it was because he was originally targeting Fortran that he kept 'blocks' to be minimal.   He ended up with something like BCPL in semantics and PL/1 in syntax than Fortran.</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">Back to C:  With the PDP-11 Dennis added supports for different data types - in particular bytes and byte addressing.   Originally, he left the C language mostly typeless (everything defaulted to an int).  C stays that way for a long time, through K&R.   But as the language starts to get used for other architectures, the ideas of being 'more strongly typed' starts to come into play.   In fact, I think the two primary changes to ANSI C that helped to cement C in the long run, were strong typing and function prototypes (which used it).</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">As I think back on Wulf's intention to create a systems programming language with good support for SW engineering, and I suspect the single 'word' and lack of typing actually would have hurt Bill's claimed intent for BLISS (I've never asked him - I need too next time I see him).</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">All this comes back to my point.   Btw the time Dennis develops, C, B had been in use and had been created incrementally from B.   If Ken had had access to BLISS compiler, he would have needed it on GCOS, and CMU never created same and then you are correct, sold the rights to their implementations to DEC.  But the fact is, Ken and Dennis did have a BCPL compiler on GCOS?  So why not just retarget it to the PDP-7?   Why did Ken create B?</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff">Clem</font></div><div class="gmail_default"><font color="#0000ff"><br></font></div><div class="gmail_default"><font color="#0000ff"><br></font></div></div></div></div><div hspace="streak-pt-mark" style="max-height:1px"><img alt="" style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=aY2xlbWNAY2NjLmNvbQ%3D%3D&type=zerocontent&guid=e794ca4f-269e-44d1-bb8b-e63c7c62a5ec"><font color="#ffffff" size="1">ᐧ</font></div>