2 ms·
B was interpreted while C wasn’t. C is basically compiled B which is why the letter was incremented.
by edgyquant 6y ago
B was interpreted while C wasn’t. C is basically compiled B which is why the letter was incremented.
- AnimalMuppet 6y agoThe linked article says that B was compiled...
- edgyquant 6y agoWell everything I’ve ever read says otherwise and it’s often referred to as an interpreter. http://progopedia.com/language/b/ http://progopedia.com/language/b/ >B is an interpreted programming language for mini-computers, a direct descendant of BCPL and ancestor of C. http://www.catb.org/~esr/writings/taoup/html/c_evolution.html http://www.catb.org/~esr/writings/taoup/html/c_evolution.htm... >based on Ken Thompson's earlier B interpreter which had in turn been modeled on BCPL, Iirc, and it’s been a while since I’ve read the history of Unix. B started as an interpreted language but evolved into C as types were added and it was switched to compiled to better interact with UNIX operating system internals (with Ritchie wanting to rewrite large portions of Unix in the new language.)
- IncRnd 6y agoThat's not exactly correct. Here is a snippet from an interview of B's creator, Ken Thompson in 1989, explaining this: "MSM: Did you develop B? Thompson: I did B. MSM: As a subset of BCPL Thompson: It wasn't a subset. It was almost exactly the same. It was a interpreter instead of a compiler. It had two passes. One went into intermediate language and which one was the interpreter of the intermediate language. Dennis wrote a compiler for B, that worked out of the intermediate language." ~ https://www.princeton.edu/~hos/mike/transcripts/thompson.htm https://www.princeton.edu/~hos/mike/transcripts/thompson.htm
- edgyquant 6y agoAh okay I figured I was remembering incorrectly but was pretty sure it was, at least initially, interpreted.
- aap_ 6y agoThe B version for the Honeywell 6070 was compiled. B on the PDP-7 and -11 was interpreted. In fact I have a writeup on the threaded code for these two: http://squoze.net/B/ http://squoze.net/B/