157. Kona, WG21 November mailing, contracts, C++ popularity and safety
With Bjarne Stroustrup, Gianluca Delfino, Vladimír Arnošt and other colleagues.
Media
Video
Podcast
Powered by RedCircle
Good news! C++ overtakes Java in Tiobe language popularity index
Actually, that doesn’t mean anything.
Tiobe is junk information, regardless of whether it seems to be “good” or “bad” news for C++. There’s nothing useful about it, nothing that will help people make better decisions. I believe that posts about it should consistently be removed. (That is, “C++ is becoming more popular!” is actually as annoying as “C++ is becoming less popular OMG what ever shall we do”, when the measure is distorted beyond any connection to reality.)
Other notable replies were:
- Rust will overtake C++, vs. No it won’t
- C++ got much nicer with C++17 and C++20, so obviously those who were disgusted by pre-c++17 or even pre-c++11 are coming back to C++ ↑
- Only a fool starts a new embedded project using C unless it’s for a rare niche platform that doesn’t have a working C++ environment. Unfortunately there are still many fools around ↑
- Only a fool starts a new embedded project in C++ unless it’s for a rare niche platform that doesn’t have a working Rust HAL ↑
Kona trip reports
Herb Sutter
The first hybrid in-person/remote conference went smoothly thanks to Jens Maurer and Dietmar Kühl leading a group of volunteers who trialled this in September.
- Contracts roadmap adopted!
std::execution
is coming in C++26!#embed
is coming in C++26!- C++ Ecosystem International Standard is on! Reddit
Next meeting: Issaqua, February 2023.
Corentin Jabot
Follow-up: P2644 Get Fix of Broken Range-based for Loop Finally Done
Looks like range-for temporary problem is finally getting fixed in C++23!
Follow-up: P2632 A plan for better template meta programming facilities in C++26
Kona: no consensus, but an encouragement for more work in this direction. Also, no consensus for pack introducers outside template context.
Follow-up: P2589 static operator []
P2589R0: consensus, forwarded to CWG for inclusion in C++23.
Mark Russinovich: C++ is deprecated
Speaking of languages, it's time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.
— Mark Russinovich (@markrussinovich) September 19, 2022
Mark is the CTO of Azure and the author of Windows Sysinternals tools.
Copying the tweet here in case he decides to delete it later, or Space Karen finally kills Twitter:
Speaking of languages, it’s time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.
Me: Laughs in C/C++
Liam Tung disagrees
The Register accidentally invokes Betteridge’s Law of Headlines with their article titled Is it time to retire C and C++ for Rust in new programs?
The pool of talented C++ developers is running dry
A cryptocurrency trading firm can’t find good developers, hmmm…
Where are all the C++ programmers? People are seemingly scared away from the language by a terrible stigma: the notion that it is a legacy program. With big names in tech such as Microsoft Azure CEO Mark Russinovich calling people to “deprecate” C++ “for the sake of security and reliability,” in favour of Rust, this is hardly surprising.
The ending is encouraging:
The reality is that there are plenty of C++ jobs available in finance, and that compared to other languages there are comparatively few people to fill them. The language may be hard. But it’s also worth it.
I know I retired recently, but didn’t expect it to have such an impact. But seriously, companies having trouble attracting people might want to look at what they are offering. Perhaps cheap and talented C++ developers are hard to find? ↑
In the thread there is a long comment about interviewing practices at the company the article author works for, and oh boy. Maybe their problem lies elsewhere?
More in the same site: C++ is the new Python – a weird title, but the article says that C++ is making a comeback. Didn’t know it was gone.
An amusing older article is titled The world’s top C++ programmer. And what he does at Morgan Stanley. Calling Bjarne Stroustrup ‘a C++ programmer’ is like calling Tim Berners-Lee ‘a web designer’.
WG21 November mailing
Papers
- P2726R0 Better std::tuple Indexing
- P2723R0 Zero-initialize objects of automatic storage duration
- P2657R1 C++ is the next C++
- Contracts
- P2659R1 A Proposal to Publish a Technical Specification for Contracts
- P2695R0 A proposed plan for Contracts in C++
- “No battle plan survives the first contact with the enemy” – Field marshal Moltke, Prussia, XIX century.
- P2700R0 Questions on P2680 “Contracts for C++: Prioritizing Safety”
- See P2680R0 Contracts for C++: Prioritizing Safety
- This is about disallowing side effects in contract annotations: the questions illustrate cases where this doesn’t work.
- See P2680R0 Contracts for C++: Prioritizing Safety
- P2712R0 Classification of Contract-Checking Predicates
- Very useful definitions
SwedenCpp Blog Roll
Thanks to Zdenek Wilczek for the link.
Top 10 C++ conference talks 2019—2022
CLion 2022.3 released
CMake debugger!
Modules!
Ólafur Waage asks: what is a pointer?
Tony van Eerd replies:
Anything is a pointer if you are brave enough.