Can you imagine a time 1000 years into the future where software written today might still be in use? How cool would that be?!
It's a bit like the descendants thing that was discussed a few days ago on here - either lots of stuff will survive the next 1000 years (and therefore lots of running code will) or almost nothing will.
To name the ones I know of - vi, emacs, C, Common Lisp. These have held pretty steady for about 30 years now.
If banks still exist they'll still be emulating zOS on their quantum dimension-folded computers...
You hit it. Things break when you change things. The high priesthood that surrounds all mainframes prevents that from happening.
Nowadays, if you have to change stuff, IBM sells you AIX boxes that cost nearly as much as mainframes which sort of integrate with them to support those changes.
I don't actually think performance wise they have anything on a cluster of x86 servers. But its hard to benchmark things like that accurately.
From a developer point of view, its not a great technology stack to work on. Its old and out dated, and is pretty incompatible with other platforms. EBCDIC is a pain, 3270 terminal is a pain. Having to allocate files manually is a pain. Having actually about 7 different types of files is a pain.
Its really all a pain. Just dont go there.
Also, I found that guys who had been working on mainframes for a really long time have a pretty outdated view of what the "distributed" world has to offer. A lot of the time they dont understand what "web Scale" at the level of google, facebook et al are operating at.
As an additional funny annecdote, the I/O that a lot of people have been talking about is now conventional if high end disk array's AFAIK. But internally the disks are emulated for the OS to look like the disks it was using back in like 1975. Thats how it gets backwards compatibility, just dont change anything.