News for hackers. Stuff that matters.
Re:C++ 20: The Core Language by einpoklum on Tuesday November 05, 2019 @01:45PM (#21455334)
(1) It's actually rather sensible, because C++ is famous for its backwards compatibility. So you can use C++14 or C++17 features in some new code while leaving the rest as-is - and gradually refactoring some of it with new features.

(2) This used to be the case with C++03 (or C++98), and it changed...

(3) I partially disagree and partially claim you're begging the question. You don't have poll results to suggest what people think of C++14. But - C++14 had a lot less changes compared to C++11 or C++17; this was natural considering how the cycle of debate of potential features progressed.

The thing is, the fact that C++14 wasn't that revolutionary in terms of features also means it is easier to adopt. If you want more novelty - try C++17; or - try a C++14-dependent library like Eric Niebler's ranges-v3.

(4) C++17 allows for writing less complex code in many cases. Specifically, you can significantly reduce the need for template metaprogramming - a particularly hairy part of the language - by using more constexpr functions and if-constexpr in regular functions. And there are other examples. Like Bjarne says: The C++ committee endeavors to "make simple things simple (to write)". So it's a trade-off.

(5) Some people switch languages because of workplace decisions or personal preferences, that's true; but people also adopt C++ because of what becomes possible, or easily-expressible, with newer versions of the language. For example, using the ranges library and with C++14 or later, functional programming with C++ has become quite reasonable, borderline pleasant even.

---

Bottom line: In my opinion, at this point C++11 has more inertia than momentum. And that's ok. People will progress over time.

Re:C++ 20: The Core Language by pacman128 on Tuesday November 05, 2019 @02:35PM (#21455817)
(1) I know of one problem with C++17 and old code. C++17 removed throw specifications from the language (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p000...) . We use third party libraries that contain these which keep us from using C++17.
Re:C++ 20: The Core Language by einpoklum on Tuesday November 05, 2019 @05:22PM (#21457413)
This feature was already deprecated in C++11...

Also, this is an "easy" breakage, in that it was glaringly obvious. That is, you didn't encounter a strange compilation bug and had to investigate why it occurred, or got different run-time behavior of the same code.

Re:C++ 20: The Core Language by nestorD on Tuesday November 05, 2019 @02:07PM (#21455542)
(4) is my main reason for missing C++17 when I am on a project stuck with C++11.

I feel that the template metaprogramming framework deserves an overhaul to clean up historical mistakes and keep only the good part.

Re:C++ 20: The Core Language by einpoklum on Tuesday November 05, 2019 @05:24PM (#21457430)
In C++ there are almost never any overhauls - it's almost always new functionality that can replace older functionality. That's what compile-time evaluation is to template metaprogramming.