COBOL Is More Relevant Today Than You Think
I work for a company that specializes in COBOL technologies, and it never ceases to amaze me of the people who profess to be IT professionals, how little they know of what really goes on in the back-office of most large corporations.
While the advent of the internet and before it client/server computing heralded lots of new languages and technologies for building front-ends, communication layers and services, these for the most part have only been used for new development. The legacy back-office systems where most of today's large corporations perform order processing and financial transactions are still to this day majority COBOL. If you look at statistics you'll see that more than 70% of all business transactions performed each day around the world are processed by COBOL. There is no way you can perform an ATM or point-of-sale transaction these days without touching COBOL somewhere during that transaction.
This is not because these companyies are lazy and simply haven't gotten around to replacing COBOL yet - there are two main reasons. First, these systems are mature and have been highly customized for decades to tailor them to each company's needs. And since they often comprise code bases in hudreds of thousands if not millions of lines of code, and play such a crucial role in company's bottom line, it is both extremely risky and extremely expensive to replace.
The second reason they haven't been replaced is that they work! They are extremely efficient and performant at what they do. As we like to say, COBOL runs very close to the metal. It has no expansive framework umbrella ala Java or .Net, so the code is very performant. Built a web service that can process thousands of transactions a second? Could you scale that to millions of transactions a second? Probably not, but there are COBOL systems that do that every day.
The other reason COBOL got a bad rap through the years is that it was locked away on the mainframe, accessible only through green screen terminals. The mainframe was/is an expensive and proprietary platform. But there are solutions that allow you to take COBOL systems off the mainframe and run them on distributed platforms. Additionally there are plug-ins for both Eclipse and Visual Studio that allows development to be independent of the mainframe as well. Additionally there are COBOL variants today that allow you to code in and interoperate with OO frameworks such as Java and .Net.
So while COBOL has been around a long time, it has not remained static, and is just as relevant today as any other technology within your IT environment.