Celestial Weasel (celestialweasel) wrote,
Celestial Weasel
celestialweasel

Tied up in ¬s

I have bought and read the BCPL book by Martin Richards, creator of the language. This is one of those obscure technical books that one reads that is interesting but not useful. There should be a word for this. IBNU?
The traditional history is CPL begat BCPL begat B begat C, but it is not completely clear how much B was really used, quite a lot less than BCPL by the look of things, so maybe the history should really be BCPL begat C via an intermediate stage, in a similar way that C begat C++ via 'C with classes'. However, it looks likely that BCPL continued to evolve after B forked from it - the BCPL book was published in 1980 whilst the first technical report was in 1967, so possibly reflects a variant of the language influenced by C as well as vice versa. B allegedly forked in 1969.

It is a well written book, probably better than K&R. It contains the code for the BCPL compiler (in BCPL) which is hand rolled, and it is somehow comforting to see that the hand-rolled compiler has as many little kludges as compilers for toy languages I have written without using LEX, YACC etc.

Damning with faint praise, Bjarne Stroustrup says that one thing in C++ came from BCPL, the // comment. BS was obviously deeply scarred by his experience with BCPL in Cambridge - in D&E he said that he wrote the program for his Ph.D thesis in Simula, then had to rewrite it in BCPL 'cos the Simula was too slow, and vowed to come up with a better language.

There is something rather poignant about the smell and page colour of obsolete technical books. The language does look slightly odd - uses $( and )$ instead of { and }. It uses ¬ for logical not. The ¬ key sits lonely and unloved at the top left of the keyboard, we should use it more :-)

There was a BCPL for the BBC Micro, written by the founder of the company that t__m__i worked for for years, and BCPL clearly influenced the BASIC on the Acorn Atom, which almost looked more like BCPL than traditional BASIC. It is probably just as well that this eccentricity was reigned in before the BASIC for the BBC Micro was written, because some aspects of the Atom one, notably the absence of automatic management of memory for strings, were kind of crap.

But there is something deeply odd about reading these books, there is a powerful sense that the British computing industry kept pace with the American, and then suddenly we were left standing. There was even an OS, OS6, written in BCPL by Oxford academics.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments