Believe it or not, but BCPL is still somewhat alive, and has implementations on modern platforms, done by its original creator Martin Richards, no less: [0].
Wow, that brings back memories! I still have a copy of BCPL: the language and its compiler on my shelf, though I admit I haven't looked at it in years. But spent¹ many happy hours with BCPL back in the early 80s. (It was that, Fortran, or Pascal; we didn't have a C compiler on the University system. Oh, there was also Algol68C, but I never really got into that.)
¹Perhaps my tutor would've said "wasted", as it had nothing to do with my courses. But I learned a lot, anyhow.
Not to be confused (as I did initially) with Programming Pearls: Little Languages, by John Bentley. Which is about little languages per se, as this is not how the languages in Ritchie's talk are generally described. In fact, the very first sentence describes Pascal as a "big language".
> Computer languages exist to perform useful things that affect the world in some way, not just to express algorithms, and so their success depends in part on their utility.
Their all-in utility. That is, their utility after taking into account usability, but also availability, availability and robustness of libraries, perhaps portability, and I'm sure there are more variables that affect net utility.
This was recently brought into sharp focus while learning a new-to-me C descendant. After working with it for a couple months, I've found a lot to like in the language itself, but the many paper cuts and bad ergonomics of its standard library have considerably drained my enthusiasm for continuing to use it. What a pity.
> C's own descendants, by which I mainly mean C++, may very well be even livelier in the next few years. Aside from languages that are directly descended from C, (particularly C++ but also some others) [...]
Does anyone know what the other languages descended from C they might have been referring to circa 1993?
There was also this extension of C called Concurrent C, which has its own book called The Concurrent C Programming Language, originally published in 1989. I don't see it on the Wikipedia page, which is why I'm saying it here.
I would consider Rust to be informed enough by C, that it can be considered a descendent—as much as D, and more so than C# (which is more of a Java-descendent; and while Java's syntax is based on C, that's where it ends).
Then there's Cyclone, from 2001 to 2006, which intended to be a systems programming language that could be extensively checked for safety at compile time.
In the multiple inheritance sense, but I wouldn't call it a descendant either. Larry "simply" scrounged around in '87 and looked at everything he could to put into his awk-but-better tool. In his own words C was a big part of that, with BCPL in the back of his mind.
I have fond memories of Pascal, but when I think about it is actually Turbo Pascal I have great memories of and not so much the language itself.
Turbo C/C++ was surprisingly a worse environment for me despite being much more fluent in C, which shows the important of a responsive IDE.