As far as artifacts go, I was on a 9 mo. sabbatical at Waterloo when
the big change took place (and having a daughter, to boot). Coming
back to the labs was a bigger culture shock than going to Canada!
Most of the B programs I had worked on, including Yacc, had become C
programs in my absence.
I suspect that was the fate of many of the B sources -- a couple of
hours editing, and they became C programs. Remember that early C
did not have strong typing. The few B programs I converted, I
remember the biggest difficulty was with character handling -- * was
used in B formats rather than % in C formats.
A harder artifact might be finding early C programs. Dennis was
brilliant in the way he morphed everyone along with minimal pain, and
I tried to do the same with PCC. To introduce a new incompatible
feature, first of all build a compiler where both the old and new
features both work. Tell people that the old stuff still works, but
sell the new stuff. After a few weeks, add an informational message
along the lines of "Deprecated usage, use ....". Stay in this
stage for several months, perhaps increasing the emphasis of the
message gradually. Then tell people that the old stuff will stop
working in 2 weeks. And in 2 weeks, make the informational message a
fatal error (but don't remove the old code yet...). Then, a while
later, leave the message but remove the old code.
It amazed me how quickly and (relatively) painless this process
was... It did mean more work for the compiler writer, though. The
transition from using hex constants as addresses in the kernel to
using strongly typed structure pointers was especially hairy.
Steve
----- Original Message -----
From:
"Clem Cole" <clemc(a)ccc.com>
To:
"Robert Swierczek" <rmswierczek(a)gmail.com>
Cc:
"TUHS main list" <tuhs(a)minnie.tuhs.org>
Sent:
Tue, 12 Sep 2017 15:24:05 -0400
Subject:
Re: [TUHS] B Source Code
BTW: Check out: ybc: a compiler for B [1]
On Tue, Sep 12, 2017 at 2:14 PM, Clem Cole <clemc(a)ccc.com [2]>
wrote:
Poke around the Honeywell archives. I believe that there was at
least one implementation of QED and a runoff flavor that I saw. As
I believe Steve Johnson has mentioned,iIt was popular at Waterloo at
one point - so check with the Waterloo folks. In fact, I had thought
that Mike Malcom used it for Thoth, QNX's predecessor.
On Tue, Sep 12, 2017 at 2:03 PM, Robert Swierczek
<rmswierczek(a)gmail.com [3]>
wrote:
Does anyone know of the existence of source code written in B (C's
predecessor?)
I have encountered a few snippets here and there, but nothing
substantial. The only "real" program that I know of is AberMUD-1.
It
looks like there exists a physical print-out of it:
https://dropsafe.crypticide.com/article/12714 [4]
Could it be that this is the only artifact left of this most
important
"missing link" of C and Unix History? How can this (and any other B
source) be gathered and preserved?
Links:
------
[1]
https://github.com/Leushenko/ybc
[2] mailto:clemc@ccc.com
[3] mailto:rmswierczek@gmail.com
[4]
https://dropsafe.crypticide.com/article/12714