I started doing C++ back just before cfront 2.0 just came out. For those of you not paying attention, cfront was a program that turned C++ code into C code, and then fed that into the C compiler. There wasn’t any such thing as native C++ compiler, or C++-aware debuggers. It was “fun”, especially when you got a core dump and you had to read a symbol like “foo_vt0_bar_xyzzy” and figure out that this meant that it had something to do with a virtual method in foo called something like bar. And of course, the line numbers in the backtrace were no help at all because the generated code bore little resemblance to what you’d written. Cfront 2.0 was when multiple inheritance was first introduced into C++, and I think it was around 1989 or so. I know I went to Usenix in Baltimore a few months later to take a class in C++ from Stanley Lippman, who’d written a book whose title he’d insisted on pronouncing as if the word “primer” was derived from “prim” rather than “prime”.
Continue reading “For the first time since learning Java, I wish I was doing C++”