Sadly, C++11 (and C++03, really) is too complicated for a typical "ordinary programmer" to grasp all the bits of it and how they potentially interrelate. [source: I am posing as an "ordinary programmer" for the purposes of this comment]
C++14, 17, and 20 do seem to add, as Bjarne says, "significant ... complexity" to what has always been a daunting language. 150 experts--C++ experts, to be sure, but also domain experts--all bringing new features that address their personal itch for the language.
I'm glad this is one of those posts that is repeatedly posted here. It speaks to a trend across basically all industries these days, and to a more philosophical origin. Growth and progress for the sake of growth and progress is actually the opposite.
Progress (even for the sake of progress) is good if (huge if) you're working with the correct definition of progress. I want more progress towards perfection in the manner of the familiar quote: "Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away."
I wondered if this thread was about C++ since that is the only connection I heard 'Remember the Vasa. It's from watching this:
Scott Mayers - Why C++ Sails When the Vasa Sank https://www.youtube.com/watch?v=ltCgzYcpFUI
Full circle ?
Sadly, C++11 (and C++03, really) is too complicated for a typical "ordinary programmer" to grasp all the bits of it and how they potentially interrelate. [source: I am posing as an "ordinary programmer" for the purposes of this comment]
C++14, 17, and 20 do seem to add, as Bjarne says, "significant ... complexity" to what has always been a daunting language. 150 experts--C++ experts, to be sure, but also domain experts--all bringing new features that address their personal itch for the language.
Other languages are complicated too.
Just compare Java 10, C# 7.3, Python 3.6, .... to their initial designs.
However I do agree with you and Bjarne, having also submitted this link awhile ago.
C++20 should have been fixing what was left from C++17, specially regarding concepts and modules.
Instead there are a plethora of other issues, and some of them it isn't even clear what is coming with C++23.
When you are in Stockholm, go visit the Vasamuseet!
I‘m not terribly keen on museums, but I visit it every single time.
The sheer amount of art on the ship is breathtaking.
And the story of the ship is more fascinating than the short excerpt here shows.
Visited it two years ago. It is humbling to see a ship that size and beauty, although partially restored, it speaks of its time.
For some reason I never made the correlation between overengineering and the Vasa. I probably classified it subconsciously as a front-end issue.
"We are on the path to something that could destroy C++. We must get off that path!"
Bjarne has spoken, and his warning should be heeded.
I think the relevant idiom is "closing the stable door after the horse has bolted".
this i.e. https://en.wikipedia.org/wiki/C%2B%2B#Criticism is also pretty poignant
I'm glad this is one of those posts that is repeatedly posted here. It speaks to a trend across basically all industries these days, and to a more philosophical origin. Growth and progress for the sake of growth and progress is actually the opposite.
Progress (even for the sake of progress) is good if (huge if) you're working with the correct definition of progress. I want more progress towards perfection in the manner of the familiar quote: "Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away."
I wondered if this thread was about C++ since that is the only connection I heard 'Remember the Vasa. It's from watching this: Scott Mayers - Why C++ Sails When the Vasa Sank https://www.youtube.com/watch?v=ltCgzYcpFUI Full circle ?