Programming uses head and gut.
It would be nice if products and programming languages were designed to have only good parts.
If there is a feature of a language that is sometimes problematic, and if it can be replaced with another feature that is more reliable, then always use the more reliable feature.
Programmers are as emotional and irrational as normal people.
And the reason these things take a generation is because ultimately we do not change people's minds. We have to wait for the previous generation to retire or die before we can get critical mass on the next idea. So it's like we look around: “Are they gone?”
“That hardly ever happens” is another way of saying “it happens”.