3 ms·
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 imp
by WalterBright 1y 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.)
- WalterBright 1y agoP.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 1y agoThis is one thing Rust did it right and I hope more languages adopt this.
- cornstalks 1y agoYou'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 1y agoI 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 1y agoSean 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.
- WalterBright 1y agoIt 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.
- vkazanov 1y agoSo it sounds like he wrote the frontend of a cpp compiler? There's a lot of work in other layers as well.
- Conscat 1y agoSean 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.
- WalterBright 1y agoImpressive!
- skywal_l 1y agoYep, too bad Circle never went anywhere...
- ezoe 1y agoNow, who can claim such bold... oh, it's YOU.