The same we're saying today about Object Pascal, Business Objects, Cold Fusion or DCOM:
nothing at all.
https://www.fbo.gov/index?s=opportunity&mode=form&id=65b571a...
Get your bid in!
Well what about the other couple-dozen genders that seem to have surfaced in recent years? =)
Microservices may still exist as an organizational concept but I'd be stunned if we're still thinking about things like containers in 20 years.
There are probably only two languages which might face similar problem as COBOL: C and Java. For now they are both actively maintained and used for new projects - so we are fine for at least next 50 years.
The kinds of services I'm describing are critical to the normal functioning of government agencies. They're running now, and they'll probably be running for the next 25 years (at which point another contractor will upgrade them to something new and shiny).
- If power grid goes down you are facing riots.
- If systems on your new shiny Boeing go down you are facing deaths of dozens of people.
- If your military systems goes down you are facing russia ;)
If employees of government agency works less efficiently(is it even possible?) for some period of time (few days, months?) - nothing wrong happens. That's why it is possible to change those systems every 25 years. They will be less productive after software change, they will face new bugs in transition period. A lot (but not all!) of work those agencies do exist only because of some stupid laws (example: in my country you have to have special permit to cut down a tree on your land - I know someone who had to start building their house year later because they couldn't get permit to get rid of one tree, another one: you cannot inherit some types of parcel if you are not a farmer - you have to either become farmer[of course virtually - but it takes few months] or change parcel's type [it's not always possible and it's also few months of fighting with bureaucrats ]).
I really think people miss this very important point. Redundancy is transparent for 99.9999% of the software you run on the old big iron systems. For something like a modern application on AWS you have to know, understand and code for the infrastructure.
If you just want to host your servers on EC2, the SLA is 99.95% uptime. So that's about 4 hours of downtime due to outage a year. Put your servers in a multi-AZ autoscaling group and you're pretty solid. Bonus points for having autoscaling groups in more than one region. If you don't want to use any of the other services AWS provides, you can simply use them as a basic hosting service and get pretty amazing uptime. I've never used an old mainframe system, can you get greater uptime than that? Including hardware failures, power outages, network outages?
4 hours downtime a year is just way to much for some systems.
Just have a google for "mainframe uptime".
Yes the software is abstracted from the HW redundancy. You can pull CPUs with running code in systems and things keep working. Really - walk up and pull the CPU out. No impact to running code.
Heck you can run your private cloud on one:
https://www.fool.com/investing/general/2015/01/24/heres-why-...
It was inconvenient for some people (quite frankly I didn't even notice anything - I've read about that in my RSS reader few days later ;)) but nobody died(excluding heart attacks), countries didn't collapse, wars didn't start because of this.
DISCLAIMER: probably should have mentioned this earlier, I'm an AWS employee :)
I suspect that in 50 years, Haskell will still be the up-and coming thing.
I mean, it is present there, but most of the time it's part of some glue or automation, it's not part of the core systems.
Those are usually Cobol, C/C++, Java and .NET. Or some proprietary language in case they were crazy enough.
Compare that to C where buffer overflows are common, Rust where the type system is a high art, Java where thread-based concurrency "just works" so you can get in trouble using it, etc.
Every couple of years people decide to redo distributed computing stack.
I'm actually surprised that graduates can still enter the web industry without receiving specialist training - that's how graduates are dealt with if they go down the Cobol route and work for one of the big IT multinationals who maintain these sorts of systems.