Impressive how C++ always attracts a naive and uninformed toxicity on HN. C++20 is amazing, there has been so much incredible work put in my some many amazing engineers.
Yes there are competitors to C++, and we all love an underdog story, but I personally find it to be the only language with this level of expressiveness, without sacrificing complete control.
You can write JS-style, with auto and other zero-runtime-cost abstractions, or you can write plain C with function overloading and templates.
C++20 is an incredibly exciting milestone, and I congratulate the standards commitee on every little milestone. Great work, guys!
> I just pray that modules will one day let developers speed up compile times.
Compiles times are not a problem if you use adequate tools.
I have a codebase that heavily uses some large libs such as boost and Qt, here's a video of the edit-compile-run cycle:
My C++ coding on Windows with VC++ is usually faster than Rust coding, because of incremental compiler, incremental linking and using binary libraries for 3rd party dependencies (DLL/COM).
I think when modules mature, it can eventually reach Delphi/.NET like compile speeds.
C# standard doesn't define the standard library, it only gives you the class prototypes (from pages 463-473 from what I can see) while the C++ standard does give you preconditions and postconditions for every function, complexity bounds for algorithms, etc. (from pages 458 to 1609, so by far the majority of the thing). C# also does not define threads, linq, etc... which if it was C++ would all have to be defined in the standard.
If you compare only the language definition itself, C++ is actually shorter by a couple pages than C#: it ends at page 457 on the pdf:
And some of them does a "sane" defined thing on some of the platforms, but enforcing them for all of the platforms would mean a lot of burden to the implementors working on those.
some behaviors are defined to be undefined because there is no sane way to universally define them in a way that doesnt cripple the range of supported hardware & OSs.
Yes there are competitors to C++, and we all love an underdog story, but I personally find it to be the only language with this level of expressiveness, without sacrificing complete control. You can write JS-style, with auto and other zero-runtime-cost abstractions, or you can write plain C with function overloading and templates.
C++20 is an incredibly exciting milestone, and I congratulate the standards commitee on every little milestone. Great work, guys!