My dad's happily retired for about 25 years now. Some of his COBOL IBM mainframe code is STILL IN PRODUCTION. Why? Because of the investment of untold man-YEARS of effort, debugging and diligence to yield nearly bullet-proof code. Because the code implements algorithms and logic that's no longer documented or understood by anyone else. Porting code introduces new bugs, thus IBM's captive audience with all the new mainframes ALWAYS being "backwards compatible".
It's not obsolete as long as it's *not* too much trouble to maintain.
There's a whole wild and wacky world of backwards compatible retrofits to "legacy systems". Screen scraping interfaces new apps to programs that still think they're talking to 3270 "green screen" terminals. Dave McGuire:
Organizations are using it for a reason: It's the right tool for their job, based on whatever criteria they've set forth.
FORTH? Did somebody say FORTH :-) Most of my dad's career was writing COBOL programs. I'll never have that stability in today's "language of the month" club: Perl, Python, Go, Ruby on Rails, Java and all its variants and environments, ADA (before it was a fruit), FORTRAN/RATFOR/WATFIV, ... -- Jeff Jonas