You have to let it rest, ya know.
No, we're not. We're in an alternate universe, one where society collapses in a few years, leaving us living like we're in The Walking Dead.
No, because whenever you add new syntax, you have to avoid breaking compatibility with old syntax.
No, you don't. You just need to tell your compiler to use the older standard. GCC does this with the --std= flag. If your code won't work in C++17, just add "--std=c++0x" or something.
And just how successful python 3 is? In every shop I worked in, they insisted on using python 2.
The problem with Python is they didn't do it like C++. To run a Python2 program, you actually have to have a Python2 interpreter/runtime and libraries compatible with it. You can't just take the latest Python3 interpreter and pass it a "--std=python2" flag and make it work. So you end up having to have two entirely separate and parallel installations of Python. It's a big mess. C++ isn't like this; you can even compile your libraries with a different C++ standard than your application code or each other, because the linker will resolve the linkages.
The problem isn't backwards compatibility, the problem is that Python did a terrible job of making a new version of their language.
It doesn't need to be that backwards-compatible. When you compile C++, you can easily set the compiler to use a particular standard (c++0x, c++11, c++14, etc.).
So if you have old code, simply direct your new compiler to follow the older standard instead of the latest one. You don't need to drag everyone else down.
First, those 10 things aren't "organs", they're just features. Your fingers aren't organs either, even though you probably need them to function normally every day.
Secondly, the article is partly wrong. For #1, it even admits that the "third eyelid" is useful for ensuring tear drainage and sweeping debris away. #9 is flat-out wrong: the appendix, while not essential to life, is very useful when you have big problems with your GI system. It's basically like a first-stage bootloader for your gut bacteria. You may never even need it, but when you do, it's really useful. #10 isn't a misfeature, it's a by-product of the way we develop as embryos. Take away male nipples and you lose female ones too, which really do have an important function. Eliminating them without losing the female ones would probably require a significant re-engineering of the genetic code, which doesn't happen with an evolved system. #4 sounds like #9: calling something "useless" because we don't fully understand it yet. Maybe we really do make good use of the ability to detect pheromones (or then again, maybe it causes us to make terrible choices for dating/marriage partners). For #3, I've read some people claim that armpit and pubic hair does serve some important function WRT bacteria, I forget exactly what now. It may have some truth or may be bunk, I don't know, but as seen with #9 and our complete lack of understanding until very very recently the role of gut bacteria (such as with its effect on obesity), it does seem like our medical sciences have largely overlooked the roles of bacteria on human health over the years.
So back to C++, just because you don't see the need for a feature doesn't mean that it's actually useless. A good example here is the 'volatile' keyword. It's useless in most C++ programming, but absolutely essential if you're doing low-level hardware access on an embedded system.
There are a few cases where it's really handy - the application I use most is the shopping list: while making stuff in the kitchen and noting I'm running low on something, I just sing out "add this to the shopping list" and it's done. Extremely convenient. I've also started using a dot as my alarm clock as it's easier to speak the time than to juggle the up/down buttons or even "alexa stop" than to groggily find the right button on the clock. I also use it where I don't have an alarm clock, e.g. reading, where I set an alarm to remind me it's time to go to bed (books are the biggest hazard to a full night's sleep!)
The voice interface is nearly trivial to use - I've written several apps, interfacing to my weather station and solar panels for example, and it's very convenient to "ask my weather station current temperature" or "how much rain we got today". That sort of thing is not going to be common though as you have to have a local server to get to the data.
The downside is things like my friends have too much fun putting weird things on my shopping list. The first thing I did was disable the ability to order things for just that sort of reason.
No, but I do here [sic] people who go in to modify something say "Gosh, I wish there weren't so many different types of connectors, why does this screw have a starburst and this one a rhombus on it?"
Well if people had adopted a really good screw-head standard way back, we wouldn't have this mess. We have different types because better standards have been invented, and the old ones are utter crap (particularly slotted and Philips heads). Now we have Robinson (square) and Torx and e-Torx which are much better fastener heads than what came before. Strangely, Robinsons have been around for about a century now, but only started catching on in recent years for some reason (I believe patents had something to do with it).
BTW, do you really now know how to spell "hear"? I'm seeing so many mistakes like this lately, I'm starting to wonder if everyone is using voice-to-text to compose messages, and the result is a complete mess.
Remember that for every Clever Lad who writes this code, an army of dudes has to come through and read and modify it over time.
Try removing a Philips-head screw that's been over-torqued or just from age/corrosion has gotten stuck. Now try it with a Torx-head screw. On the former, you're going to be drilling it out after stripping out the head, whereas the Torx will come right out. There's a reason we invent new standards: because the old ones are frequently shit. Just look at the early versions of Java.
That's not to speak against it- merely that as the language gets broader, supporting it becomes slower and more expensive.
Yep, there's really no way around that. The alternative is stagnation (getting stuck with a shitty old language that has demonstrable deficiencies (again, see early Java)), or having people constantly jumping to new languages that aren't much different from the old ones (which we're seeing to an extent now: Rust, Go, D, etc.), and this incurs its own costs.
That's not the only reason you don't want exceptions. Exceptions are non-deterministic. Anything that's non-deterministic must be disabled on a mission-critical realtime system. This even includes processor caches.
Doing things statically at compile time rather than at runtime is how you get high performance. If you want lousy performance, then there's other languages that are easier to write in, such as Python or Java, that do tons of stuff at runtime.
Similar, but not exactly. The OP is pointing out why experts are frequently bad at imparting their knowledge to others, particularly laypeople. This is a valid hypothesis.
Trump supporters, OTOH, go much farther, and simply discount anything claimed by experts if it contradicts their "gut feeling" or what they "know" or what their preacher tells them.
"You're a creature of the night, Michael. Wait'll Mom hears about this." -- from the movie "The Lost Boys"