2 ms·
> Continuously "improving" a language has upsides and downsides. It has zero downsides. If you are interested in new features you're free to adopt them. If you
by rewmie 3y ago
> Continuously "improving" a language has upsides and downsides.
It has zero downsides. If you are interested in new features you're free to adopt them. If you are not interested in them then you can simply not use them, or even sit out a specific version. There are zero drawbacks.
> A significant downside is the added complexity once there are very many features.
There is zero complexity. No one forces you to play standard library bingo. No one forces you to use each and every single feature ever devised. No one forces you to adopt a new standard.
That's the best feature of C++'s standardization process: it specifies existing features, and provides you with a convenient way to onboard or not onto them.
I've worked on C++14 projects until a couple of years ago. My team inherited a C++11 project and we decided to migrate to C++14 mainly because of std::make_unique. We considered C++17 but we didn't bothered with it. C++20 was already out. No one held a gun to our heads. It's ok if you don't jump onto the latest and greatest.
> Question for you: Should they start adding variadic templates and mutable lambdas to C? Would you like that?
C would greatly benefit from supporting templates. I don't understand what point you tried to make. The question sounds too luddite.
> Not wanting to rewrite code is the very reason they should stop adding features.
This is a pretty lame strawman. No one is forced to rewrite stuff when bumping a C++ version. I was involved in a couple of projects that underwent those upgrades and basically the migration consisted of flipping a switch in the build system and addressing a couple of compiler errors caused by the compiler flaggin a couple of warnings as errors. That was it.
Things are simpler if we don't invent problems.