rant, programming misconceptions, long
The problem with weeding out widespread misbeliefs about programming languages is that they are rarely isolated cases; usually, they are built on a whole tower of lies.
Take this seemingly simple turn of phrase, for example: "slow, interpreted languages like Python or Javascript". It's a phrase you've probably seen or heard in a few places.
The first problem there is that the classification doesn't make any sense; under typical circumstances, these two languages are in *entirely* different performance classes, and they're really not comparable at all.
But the deeper problem there lies in "typical circumstances" - because if you want to make this point correctly, then the *next* misconception that you have to correct is that performance is a property of the language; it's not, it's a property of the runtime and/or compiler.
And it doesn't stop there; because "interpreted languages" isn't correct either! Whether something is "interpreted" is, again, dependent on the implementation and not on the language.
And that doesn't even hold true for the common case for JS either; almost all JS is actually run through a JIT compiler, not an interpreter. Python is used in many different execution models. And so on, and so forth.
And just like that, a quick correction of a misbelief has turned into a 10-minute rant about how everything someone believes about programming languages is wrong, and you'll have spent your entire 'credibility budget' that way, and the listener will probably believe *none* of the points anymore.
But you *also* can't make those points individually, because then they sound out of line with what the listener already believes about how programming languages work in a general sense... and that's how these beliefs stick around, and any attempt to correct easily-verifiable misinformation turns into a holy war :|