At the time of writing, the Coronavirus is raging. These are crazy times for all of us. People are being quarantined – the streets are empty – vital goods such as milk, long-life foods and toilet paper are sold out everywhere. Many businesses struggle to survive because their customers are quarantined.
So lets discuss what effect Corona has on businesses that rely on COBOL.
Unemployment Claims (New Jersey and others)
In the United States, about 6.6 million people lose their jobs per week right now. That’s roughly 130 thousand per state on average. So we are seeing 130 thousand people filing for unemployment aid in every state. Say they only file for unemployment on mondays to fridays and only between 8am and 8pm. Then that’s 0.599 people filing per second or one person filing every 1.669 seconds. Given the claims of mainframe advocates, One request every 1.6s shouldn’t be much of a problem for the „workhorse“ that a mainframe is supposed to be. Yet, we see the COBOL-Systems for processing these requests fail hard at this task.
A Study by The Verge has concluded that Alaska, Connecticut, California, Iowa, Kansas, Rhode Island and at least 6 more states are struggeling to handle the workload. The state of New Jersey has gone so far to beg for volunteers to help out. After watching the HBO series Chernoby recently, I can’t help but be reminded of the Chernobyl ‚Suicide Squad‘.
This is a huge disgrace for mainframe manufacturers and their claims about the stability, reliability and performance of their products. It also brings the developer-shortage very much to the attention of the world – reports are on CNN, CNBC, NBC15, IEEE Spectrum, Business Insider, Computerbild, National Public Radio, theregister, dallas morning news, CIO Dive, Tom’s Hardware, New York Intelligencer, NJ Advance Media, whyy, the hill, slate, techradar, jaxenter, quartz, the verge, t3n, the list goes on and on.
To counteract, big blue is now giving out free courses. These courses would have cost thousands of dollars a few years ago – giving them away for free now shows the lack of interest in them. Stackoverflow also has released a short tutorial on COBOL. Many news outlets report this and (as usual) just copy the claims of the mainframe advocates verbatim. How easy it was to learn COBOL! How cross-platform compatible COBOL was! I have a few things to say about these claims:
- You can’t learn COBOL quickly, as I have detailed before.
- COBOL was only relatively „Cross-Platform Compatible“ for its time. It is more „Cross-Platform Compatible“ than machine-specific, hand-written machine code, yes. But CODASYL never defined a formal semantic for the syntactic constructs. The same code can and often will do different things on different manufacturer’s mainframes. It won’t even do the same thing on different versions of the same vendor’s compilers (see for example this page and look at the VARYING-AFTER for a particularly bad one).
- Vendor-specific extensions make this problem worse.
- There is a lower bound X on how many clock-cycles are needed to process a request – and there is an upper bound Y on how many clock-cycles per second a processor can do without burning out. So if you have more than Y/X requests per second, then there is nothing that „more developers“ can do about it. And since mainframes have a monolithic architecture, adding more hardware doesn’t solve the problem. Monolithic systems aren’t scalable.
- Though this blogpost isn’t about security, I want to mention COBOLs severe security problems again, since I have read the nonsense about it being so very secure again, in this context.
Not a COBOL problem? Yes it is!
Wired.com has an article – and Ad Hoc parroted it – that speculates whether this is really a COBOL problem. An HTTP Error Code, they speculate, meant that the problem was a network-problem – but when you look into the chrome sourcecode, an ERR_HTTP2_PROTOCOL_ERROR is a timeout on an established connection, so it can’t be a network problem.
Then they speculate that the ending .jsp (Java Server Pages) of the URL meant it was a Java problem – but there are multiple bridges between Java and COBOL, so a .jsp can call a COBOL program – and if that call doesn’t return in time, that would cause an ERR_HTTP2_PROTOCOL_ERROR.
The name DOL_W247 also sounds a lot like COBOL – so I didn’t believe the article anyways – and now the Department of Workforce Development (DWD) has clarified that this is indeed a COBOL problem.
I contacted said sites to clarify their mistakes. They neither corrected their stories, nor did they answer my message.
Side-note: after the troubles were rectified, those who filed for compensations have received twice the money they were eligible for. Weren’t COBOL Programmers supposed to be the best programmers in the world who never make any mistakes?
We have long predicted that the decreasing supply in the COBOL job-market will lead to severe cannibalizing between the businesses that rely on COBOL. They will overbid each other until the weaker businesses can’t compete anymore, collapse and go bankrupt. As supply will continue to decrease, more and more businesses will collapse.
New Jerseys begging for help is a sign of this. The market is empty, they can’t compete with higher bidders, so they (kind of) take out a „TV-ad“ for the job-opening. Although this isn’t the first TV-ad I’ve seen for job-openings, it is the first „TV-ad“ I’ve seen for a position as programmer of a specific programming language.