Revisiting the re-tailored COBOL universe
Then, according to Artur Reimann (writing for Fujitsu Software in 1999 in Object Oriented Programming in "COBOL 2000"): “‘COBOL 2000’… will provide full support for the constructs of Object Oriented Programming (OOP)… [although] OOP will not replace conventional programming, but will be used just for specific programming tasks, for which it is better suited.
Traditional COBOL programming will not go away, but will be complemented by new language features for defining classes and objects”. I’m not sure that the hybrid approach implied by this will please OO purists - but, then, neither does a lot of C++ - but, nevertheless, if you know any COBOL, I think the Fujitsu Software article quoted shows clearly that OO can fit well with the forms of traditional COBOL.
COBOL, then, is far from dead and it is not even uninteresting to play with, especially as COBOL code may provide the best available documentation of the fundamental business processes your company has been running on for decades.
And there’s still a lot of COBOL about although it seems hard to pin down the precise amount of it actually in use today (perhaps because a lot of it is in mission-critical financial systems, that owners don't want to talk about). A tutorial from the University of Limerick Department of Computer Science and Information Systems (CSIS) quotes Gartner estimates for 2002 of about two million COBOL programmers world-wide compared to about one million Java programmers and one million C++ programmers.
Similarly, IBM quotes “generally accepted statistics” to the effect that 70 per cent of the world's business data is still being processed by mainframe applications written in COBOL (with an estimated 30 billion COBOL transactions are processed daily, more than the number of total web pages viewed in the same period), here.
Whatever the exact amount, a lot of banks have some COBOL and it often represents many man-years of analysis – this COBOL both documents and embodies a great deal of business process, probably not effectively documented anywhere else. Translating a COBOL system into another language isn’t hard – but, unfortunately, making sure that the business process it represents hasn't been compromised is very much harder and more expensive (the devil is in the regression testing).
So why bother to even attempt to “rip and replace” all your COBOL legacy? It usually makes no business sense, since COBOL can now co-exist with the latest technologies. For example, according to Dobbins, “developers are now able to map COBOL data fields to XML elements, in both traditional and .Net flavours of the language".
Through the use of a wizard-enabled development environment, COBOL data structures can be generated from XML schemas, removing any barriers to the use of XML as both input and output data. And IBM is promoting EGL (Enterprise Generation Language), “an easy to learn programming paradigm” which lets you generate optimized code (including COBOL) for a target runtime platform from technology-neutral EGL logic.
COBOL is easy enough to learn, anyway (Micro Focus offers a five-day "COBOL Programming for Business Success" course here). If you can read your COBOL legacy you can package it as a service, effectively loosely-embedded in more modern systems.
Perhaps you should add COBOL to your CV – if you can speak C++ or Java, how hard can it be? COBOL’s days may indeed be numbered, but some numbers are pretty large.
For more information, the COBOL Portal is here. ®