[Previous entry: "HTML O' the Day"] [Next entry: "more questionable history from esr about the origins of GNU"]
11/29/2005: "More fun with google"
Once upon a time, Dennis Richie posted something about character strings in C.
Given the explicit use of character arrays, and explicit pointers to
sequences of characters, the conventional use of a terminating
marker is hard to avoid. The history of this convention and
of the general array scheme had little to do with the PDP-11; it
was inherited from BCPL and B.
Robert Firth posted a correction
A correction here: the C scheme was NOT inherited from BCPL.
BCPL strings are not confused with character arrays; their
implemetation is not normally visible to the programmer, and
their semantics are respectably robust.
Now, Firth obtained his PhD at Cambridge in 1969. It is highly likely that he was actually quite familiar with the BCPL language. BCPL was implemented by Martin Richards, a nearly infamous Cambridge hacker, while taking sabbatical at MIT in 1967, having been previously designed in 1965. BCPL is the language upon which Thompson's B and consequently C were built. BCPL was transported to the Bell Labs by another programming enthusiast, Rudd Canaday. C wasn't invented until 1972.
ESR, in response flamed the snot out of Firth only four minutes later:
I've seen bonehead idiocy on the net before, but this tops it all -- this takes
the cut-glass flyswatter. Mr. Firth, do you *read* what you're replying to
before you pontificate? Didn't the name `Dennis Ritchie' register in whatever
soggy lump of excrement you're using as a central nervous system? Do you
realize that the person you just incorrectly `corrected' on a point of C's
intellectual antecedents is the *inventor of C himself*!?!
dmr countered :
Robert Firth justifiably corrects my misstatement about
BCPL strings; they were indeed counted. I evidently edited
my memory.
Forcing ESR to apologise for his flame:
It is I who have learned the lesson this time. I'd had a rough and frustrating
day, and what I *thought* I saw was some random presuming to know better than
dmr about his own thought processes during the invention of C. I blew my top.
I have since been informed by email (in blistering detail) that Mr. Firth is
not a random and seen by dmr's followup that he was correct. I retract my
insulting statements about Mr. Firth and accept full responsibility for my
error. Let the record at least show that I was as quick to apologize as I had
been to flame.
Mr. Firth was not among those who filled my mailbox. I shall try to take his
restraint in the face of provocation as a model for my own future behavior.
We're still waiting, Eric.