4 ms·
Serious question. Is the committee ok with just adding features forever or do they realize they have to stop at some point?
by z_open 3y ago
Serious question. Is the committee ok with just adding features forever or do they realize they have to stop at some point?
- hn8305823 3y agoUnpopular opinion: Just use C(99)
- z_open 3y agoI can't. My company doesn't allow me to use whatever languages I want and my experience is in a niche industry.
- pjmlp 3y agoProgramming languages are products. There is no product that is done, and keeps being used ad infinitum. By the way, C23 just has been ratified, last COBOL standard is coming this year as well, and Fortran was last updated in 2018.
- z_open 3y agoI realize this. But C's new feature lists get smaller and smaller and are a lot more sane. https://en.cppreference.com/w/c/23 https://en.cppreference.com/w/c/23 Meanwhile C++ just added for loop scoped typedefs. for (typedef int Points; Points points : pointsScored) { std::cout << "Jokic scored " << points << '\n'; }
- pjmlp 3y agoJust wait for what was left out of C23 and planned for a later revision, https://thephd.dev/lambdas-nested-functions-block-expressions-oh-my https://thephd.dev/lambdas-nested-functions-block-expression... https://thephd.dev/c-the-improvements-june-september-virtual-c-meeting https://thephd.dev/c-the-improvements-june-september-virtual... https://thephd.dev/ever-closer-c23-improvements https://thephd.dev/ever-closer-c23-improvements Only a small overview, I lost the link to the PDF with the whole set of language proposals for C2X.
- dkersten 3y agoThey do also deprecate and remove stuff too, and not all new versions are large (C++14 was very small). So, sure, they found a bunch of new stuff to add, but the frequency and size of updates does seem to depend on how much stuff is proposed that they deem useful enough to add. Note that in the time C++ had 5 updates, Python has had 10 releases and Java has had 14!
- summerlight 3y agoFor this particular "deducing this", it is actually removing unnecessary corner cases due to a wrong historical decision that made "this" parameter available only in an implicit way. Probably you may want to read the article before expanding your own narrative?
- eklitzke 3y agoPeople complain about the breadth of C++, but the reality is that you don't need to adopt new versions, and regardless of what version you use when compiling code you should have an internal style guide dictating what features are permitted, which are not, and which features are only permitted in specific circumstances. For example, Google is switching from defaulting to -std=c++17 to -std=c++20 later this month, but most of the major C++20 features (e.g. ranges, coroutines) will be prohibited. And there are a lot of major C++ features that the Google internal style guide does allow but discourages people from using unless they have specific needs.