In this great JSConfUY 2014 talk, Douglas Crockford talks about a lot of programming issues regarding language design. Starting at around 24 minutes, he notes that the major problem with getting new good ideas accepted and old bad ones thrown away is just the stubbornness of people, and notes that it tends to take a generation or two for major change.

And the reason why it takes about a generation for these things to happen, is because we never really change the minds of the people who are most vocal against it. We just have to wait for them to die. (laughter and applause from audience) And eventually they do, they always do. And then we look around and say ‘can we get rid of goto now? (mimes waiting for objections) Alright goto’s gone.’ Let’s move onto the next one.

I think that this applies to human society as a whole, not just programmers. Programmers are just a microcosm. Major changes take time. You just have to wait for those standing in the way to die because it’s the only way they will move. Sad but true.