Many years ago, mainframes ruled the world. The only computer that was available to large companies AND was capable of processing large numbers of transactions was a mainframe. Huge computers and other peripherals often the size of a basketball court started to appear in banks, airlines, insurance companies, large retailers and others.

But unfortunately the machine could only communicate in real ”machine” language (generation 1) or a language called “Assembler” (generation 2) which allowed highly skilled programmers to get things done with statements like: BAL (Branch And Link) and SR (Store Register) that directly manipulated the mainframe’s memory and instruction set. Get it wrong (like forgetting to specify the length when moving some characters around) and the mainframe would simply stop. Trust me, I did it….

Figure_3_RTCC
IBM 7094 mainframe launched in 1959

The COBOL generation

Some smart people realized that a computer could do a lot more for more companies and decided that a better and easier programming language would make a huge difference. They even envisioned that business people would write their own programs!

This was the start of the programming language COBOL (generation 3). The COBOL programming language was very similar to a normal (English) language and for those who took the time, it really was (and still is is) one of the most powerful languages to create business applications for the mainframe. It was developed - in part by the amazing rear admiral Grace Hopper - as a very structured language that is easy to read and maintain.

Over the years, COBOL was enhanced, to support relational databases, modern protocols like SOAP to allow other platforms to communicate with mainframes, and much more which extended the life of the billions of line of COBOL written in the 70’s, 80’s, 90’s and even today.

I was part of the generation that built all these new applications and I vividly remember the excitement of writing COBOL transactions that replaced many labor-intensive calculations. But already in the late 80’s and early 90’s, COBOL was seen as something for “the previous generation”. Software vendors created new “4GLs” or Fourth Generation Languages that had successes here and there, but they never fully replaced the ultra-fast and efficient applications written in COBOL.

Proven reliability for millions of transactions

Attempts to enhance the COBOL language to more modern platforms and operating systems like Windows never took off, but the huge investments that companies had made in applications written in COBOL still surprise people today. The first time people realized that this could cause some problems was in the late 90s. The year 2000 was coming up and every program (not just COBOL, but also Assembler, Fortran & PL/I, all third generation mainframe programming languages) that did something with dates had to be checked to make sure it would continue to work. But as it goes, when the year 2000 turned into 2001, no real disasters happened.

Why not invest a few months learning COBOL? When you are one of the dozens who can use it, you could potentially earn more money than when you are one of the thousands of Java programmers. And trust me, it’s just as much fun

There was another concern: developers working on those languages were approaching retirement age. Everybody sort of hoped that the problem of all these programmers slowly moving to retirement would somehow solve itself. After all, by the time these programmers would retire, surely these applications would all have been replaced by more modern applications, right? Wrong!

It was expensive to rewrite all these programs, they made up hundreds of thousands of business-critical applications that could bring a company (or even a country) down if they failed. And then the recession kicked in and we had more important things to do than rewrite something that worked into something that… well, also worked… What was the benefit anyway?

In addition to that reliability, these applications were so well written, so efficient, that they could easily process millions of transactions in the blink of an eye, and not everybody was sure that a more modern version could do the same. Also, by this time, these mainframe transactions were an integral part of more modern (mobile) applications. Almost every internet banking app these days touches a mainframe application in the background!

But already, COBOL programmers are retiring. And as the market dictates, when there is a shortage, prices go up. I know many young IT’ers that have discovered that COBOL skills are very much in demand. And while there are still hundreds of large companies across Europe (and thousands Worldwide) using COBLL, why not invest a few months learning COBOL? When you are one of the dozens, you could potentially earn more money than when you are one of the thousand (Java) programmers. And trust me, it’s just as much fun and maybe even more gratifying…

Marcel den Hartog is senior director, EMEA product marketing at CA Technologies