...but, as they say, beauty is in the eye of the beholder!
...but, as they say, beauty is in the eye of the beholder!
It’s a bit like a well-kept Victorian home. The amount of work, money, and dealing with discomfort that goes into maintaining one isn’t something I really want to experience for myself. But the amount of skill and craftsmanship that it takes to preserve one is still impressive, and I have to appreciate the respect for history and the care that goes into balancing it with modern concerns.
And talking to people who do live the life is always a great learning experience.
I had the same misunderstanding before I get to know CS. that was 30 years ago.
If there's something that C++ actually lacks, that's the elegance, grace and beauty. The rest, it's all already there or will be there shortly :)
Exception specifications, auto_ptr, C++11 GC, the way volatile works, uninitialised variables,...
I'm also glad I do not write C++ on the daily anymore: luckily my software does not need that kind of performance characteristics.
You can write pretty fast and reasonable code nowadays.
Either directly on top of a runtime/compiler written in C++, or as indirect dependency on a C++ compiler toolchain.
I used to think that was a personal limitation, until I saw an interview with Bjarne explaining that he used to understand all of it but at this point it’s too big, no one can anymore.
People ended up getting celebrated for their cleverness and not horrified by the abuse of good taste, and many of these tricks appeared in core C++ libraries like Boost.
So doing stuff like this is unfortunately just part of C++ culture, and allows you to emulate proper features that using a C++ standard that's at least a decade older.