Re: 20 years is a lot of time.
Twenty years is nothing if your main business is in getting things done, and computures - and languages you write in - are but a tool, merely means to an end. It is pretty common for the computer programmes to outlive both the hardware they were originally written on, and their original creators. Much of of scientific computing - the area where I have some idea what I am speaking about - is like that. From what I read and hear, much of the industrial control machinery, air traffic control, and business back-end processing - things which, unlike the eye candy of the web, matter in real life - is the same. You write these things rather infrequently, at a great expense - and afterwards you expect them to work, given good maintenance, essentially indefinitely - like any good machine. The very last thing you want in these situations is a computer language which keeps introducing incompatible changes underneath your process- and possibly life-critical code.
Naturally, there are also quick'n'dirty prototyping and analysis gadgets. Those you'd rig up quickly, using whatever bits of code and duct tape you have lying around. In those cases, you don't really care if the language you use will drift in five years' time, making your scripts unusable. Even then, these things tend to come back and bite you when you realise some time later that you could have used these tools for something else again - except they no longer work, even though your code haven't changed a yota.
I know what kind of language I prefer - but to each his own.