3 ms·
> Frustrated by the slow evolution I think already the very first sentence is already wrong. 1998 ISO/IEC 14882:1998 C++98 2003 ISO/IEC 14882:2003 C++
by ho_schi 4y ago
> Frustrated by the slow evolution
I think already the very first sentence is already wrong.
1998 ISO/IEC 14882:1998 C++98
2003 ISO/IEC 14882:2003 C++03
2011 ISO/IEC 14882:2011 C++11
2014 ISO/IEC 14882:2014 C++14
2017 ISO/IEC 14882:2017 C++17
2020 ISO/IEC 14882:2020 C++20
Where C++11 and C++20 are huge major upgrades.
- zaphar 4y agoMajor upgrades that are fully backward compatible and therefore leave some significant performance and safety bugs untouched. What they mean by "slow evolution" is the increasing rigidity of core data structures and resistance to introducing replacements caused by the backwards compatibility promise. Adding new features is easier than changing existing ones. This is both a strength and a weakness of C++. It's a very old language and it has been keeping that backwards compatibility promise for a very long time. The result is that certain portions of the language are effectively unchangeable as a result. This is the key thing that Rust's editions are trying avoid.
- tialaramex 4y agoThe ability to ship new slightly incompatible versions of your "International Standard" every three years doesn't mean you're evolving quickly. > Where C++11 and C++20 are huge major upgrades. They seem significant by the standards of C++ but they're rather less impressive in the bigger picture.
- KptMarchewa 4y agoThose standards are mostly additive, while Google wants to fix some fundamental issues with the language.
- stonemetal12 4y agoLooks fairly slow to me, C# is already on V10. C# isn't nearly as old, and has had much larger features added.
- deleted 4y ago[deleted]
- UncleMeat 4y agoThere are new versions and C++ has had a lot more love recently than in the past, but a lot of valuable changes are made impossible by the committee because of compatibility concerns.