Why do many professional photographers use film cameras instead of multi-megapixel digital ones? Why don’t many people refuse their 10-15-years old button mobile phones in favor of iPhones and Android phablets? What impulse has pushed the recent resurrection of vinyl turntables? And, after all, how can such dinosaur programming languages as COBOL or LISP keep the lights?
When old things matter
Nostalgia, vintage revolution, psychological inertia, standing out from the crowd, unwillingness to change, prone to collecting as well as many other hypothetical reasons could be found to explain… nothing. Any explanation makes no sense to my friend (a full-stack developer, by the way) who drives BMW of 1979 and listens to a pre-digital boom box. “It’s a thing! And it works”, he said in total innocence answering my question.
This approach is acceptable when it comes to the human emotional attachment to some physical assets or to something enshrined in the ancient tradition (gold still remains in high esteem among bankers while blockchain transactions are gaining their confidence gradually). However, “because it works” could hardly be sufficient to explain why 95% of the contemporary ATM transactions rely on the programming language created a decade before the first landing on the moon.
A language rooted from business
Despite standing far from the top lines of Tiobe index (a rating of today’s most popular programming languages) COBOL proved to be paradoxically resilient. The “Common Business-Oriented Language” was created in the late 1950s when computers were operated with punch cards. In those exciting days, every new computer language was dedicated to a definite area of expertise.
Thus, FORTRAN belonged to scientific researches, LISP served artificial intelligence (yes, AI was under construction long before Google’s founders entered a kindergarten!), and COBOL was intended for business operations. And that distribution of roles was not conventional. The Department of Defense even required all businesses to use just COBOL in the 1960s.
Too important to ignore
The resulting standardization of business processes allowed COBOL to run on the majority of mainframes remaining one of the most important business computer languages up to now. Deposit accounts, check-clearing services, card networks, ATMs, mortgage servicing, loan ledgers and other services for about $3 trillion in daily commerce flows keep running through COBOL systems. "Just because a language is 50 years old, doesn't mean that it isn't good," said Donna Dillenberger, an IBM Fellow.
Code as a text
However, its venerable pedigree is not the downside that contemporary programmers dislike most of all about COBOL. The verbosity (indirectly evidenced by 220 billion lines of code currently in use) makes COBOL difficult to learn for young coders preferring more laconic languages. Even though Church Latin is the linguistic equivalent of COBOL, Grace Hopper (“mother” of COBOL, who is famous for the “bug” term invented when she found a dead insect inside a hardware) tried to humanize programming languages making COBOL readable like English instead of geek jargon.
Bicycle vs an airplane
In contrast to many modern programmers blaming COBOL for its wordy syntax and general inadequacy, the old guard of programmers, whose golden years occurred in the 1970-80s, believes in COBOL for a reason. The following comment of one of the programming veterans against COBOL criticism is worth citing:
“If I have to go to mall to buy cigarettes I don’t take an airplane, but the bicycle even if is a 150-year-old transport, so if I have to manage something COBOL does better than other tool, I use COBOL… About transaction performance, I have to say that some time ago I made an attempt to convert my Cobol software based on indexed files to Postgres database. There was no game: COBOL software was 10 times faster, so I dropped the project and now I am bounded with COBOL waiting for something having the same efficiency”.
The gap is growing
It is not a problem to use or not to use COBOL when someone likes/dislikes it basing on one’s own preferences or meeting certain technological requirements. The problem lies in the gap between those who know COBOL and the existing COBOL applications requiring fixing and maintenance. The gap is expanding because the old guard of COBOL programmers is declining at 5% annually in accordance with Gartner’s research.
Micro Focus reports that the average age of COBOL programmers is reaching 60-year-old. And even now they worth their weight in gold. On the other hand, many organizations cannot afford to migrate from their current COBOL systems due to the mere budgetary reasons. It would be prohibitively expensive for them. It seems in only a few years no one will be able to manage COBOL mainframes when all veterans retire.
COBOL as a startup
Realizing such a danger, some COBOL-dependent companies such as IBM and Micro Focus are trying to incentivize the young generation of programmers to possess COBOL skills. IBM, for example, promotes COBOL curricula through about 80 universities (without much success, however).
Nonetheless, the demand for COBOL programmers exceeds supply. If things keep going this way, such a trend will grow continuously.
Therefore, a clear and evident business idea comes to mind – learn COBOL to fill the gap. Of course, it may sound not too attractive for the modern startup culture obsessed with gadgets and mobile services. The idea does not smell like 4IR or digital transformation promising the hyper-creativeness, virtuality, and cyborgization. However, business is business, and Indeema believes that there will be young programmers pragmatic enough to recognize the lucrative opportunities in COBOL where the legacy systems can elevate startuppers on the top of the employment pyramid.