Remix.run Logo
WalterBright 6 days ago

I may be the only person who ever understood every detail of C++, starting with the preprocessor. I can make that claim because I'm the only person who ever implemented all of it. (You cannot really know a language until you've implemented it.) I gave up on that in the 2000's. Modern C++ is simply terrifying in its complexity.

(I'm not including the C++ Standard Library, as I didn't implement it.)

Conscat 6 days ago | parent | next [-]

Sean Baxter single-handedly implemented all of up to C++23, and some C++26, including a huge number of GNU extensions and possibly an even larger number of his own features.

skywal_l 6 hours ago | parent | next [-]

Yep, too bad Circle never went anywhere...

WalterBright 6 days ago | parent | prev [-]

Impressive!

cornstalks 6 days ago | parent | prev | next [-]

You've done some great work but I have to call BS with this claim:

> I'm the only person who ever implemented all of it.

Sean Baxter is an easy counter example.

WalterBright 6 days ago | parent [-]

I don't know much of anything about him. Did he implement the preprocessor? the optimizer? the code generator?

(For some context, back in the 80's, code generators needed enhancements to implement C++. You couldn't just use an existing one. Bjarne had to do some ugly workarounds because of this.)

tux3 6 days ago | parent [-]

Sean Baxter's circle compiler uses LLVM as a backend, but I believe the rest is from scratch.

Arguably these days having a clear frontend/backend separation is good compiler architecture. It might slow down compile times a bit, but it's worth the cost.

vkazanov 6 days ago | parent | next [-]

So it sounds like he wrote the frontend of a cpp compiler? There's a lot of work in other layers as well.

WalterBright 6 days ago | parent | prev [-]

It wouldn't have made much sense to write the preprocessor these days, too, but it is part of the C++ compiler. Unless integrating it with the C++ lexer for speed purposes, as I did.

WalterBright 6 days ago | parent | prev | next [-]

P.S. we're adding an "Editions" feature to D so we can simplify the language by removing obsolete and deadend features. We didn't get everything right, and want to fix it!

metaltyphoon 6 days ago | parent [-]

This is one thing Rust did it right and I hope more languages adopt this.

ezoe 5 days ago | parent | prev [-]

Now, who can claim such bold... oh, it's YOU.