Conversation

I see a lot of frustration with C++ in the game industry, compile times and runtime performance of debug builds being the main complaints. I don't want to downplay these, I've experienced both first-hand and I know how much of a burden they can be. I get it.
1
11
But loudly whining about it on twitter achieves nothing but making us look like children. Yelling "thing bad, fix it now" and then refusing to interact constructively when people offer to help isn't going to achieve anything but a sense of animosity.
1
21
It's /completely/ unreasonable to take something for free, complain about the parts you don't like, and then snub the people responsible when they make a good-faith effort to engage and address it.
2
20
thank you. but also:
Quote Tweet
If you use C++, and if you are currently under the mistaken impression that you want it to be improved (rather than frozen permanently), please spend some time thinking about this frame from youtube.com/watch?v=4_ODvZ. Backward compatibility generally precludes proper design.
Show this thread
Image
2
Having tried that particular experiment, I think you end up wanting both. Defer is great for one offs, but still easy to forget, and it doesn’t compose like destructors in composed types can. (Though type level composition in C++/Swift/Rust still ends up feeling obnoxious imo)
3
Rust tried that, along with a bunch of other things (like “resource” as a special kind of type with a destructor) before settling on implicit destructors for ergonomic reasons
1
1
ergonomics fools: what if Rc autocloned, since it's generally completely unininteresting me, a clarity/orthogonality genius: what if every single place that decremented a reference count had to manually try to run the concrete destructor of its contents. Also screw type erasure.
1
3
Show replies