C++ 20: Reaching for the Aims of C++
Video Statistics and Information
Channel: Coding Tech
Views: 12,507
Rating: undefined out of 5
Keywords: c++, c++ programming, c++ 20
Id: TeduHyHdH3A
Channel Id: undefined
Length: 97min 56sec (5876 seconds)
Published: Thu Dec 16 2021
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
To me, the most promising part of Bjarne's talk was the stuff about modules and mostly eliminating the preprocessor (41:21-50:05). This starts to address one of the biggest weaknesses of C++ these days, which is the complexity of building a large application that depends on dozens of libraries from various commercial, open source, and internal development sources. In particular, I look forward to retiring the debugging technique of compiling with the -E option to see how a source file was expanded by the preprocessor.
C++ has it hard. It kind of has more competition now; Go, D, Rust. Even modern Java is looking better than old Java (still too verbose though). C# is also cannibalizing on C++.
TIOBE ranks C++ at place #4 and while C++ won't go away for a long time, it has it much harder than, say, 10 years ago or so (I'd say 5 years ago already, but some of the other languages are also older than 5 years, and it takes a while before competition becomes "serious").
I think C++ is experiencing a completely normal renewal, and after listening to this talk, I am tempted to actually go back to using it after they get the 2023 version out. While I think Rust is brilliant (especially the compiler), as Bjarne put it in the talk, these new languages are in a very different phase in their lives. C++ is not going away, and is a very solid language. Have they made all the right design decisions? No way...but they have definitely made for a super solid track-record of MANY design decisions with a pretty fantastic success rate...let's see where Rust ends up in 10 years time...Go may steal some thunder in the server apps space, but that may not last, if C++ fixes the compile time and package management problems. C++ has made incredible progress in a very short time to fix many issues...Rust, Go, et al only serve to motivate the C++ standards team to be bold and brave in pushing forward to make for a C++ re-birth...I feel 2025 will be the year of C++