COBOL, arguably one of the earliest of the 3rd generation programming languages, is still used extensively. In particular, IBM mainframe platforms are still home to a significant number of applications originally developed in this language that continue to power many Fortune 500 companies today. Furthermore, several shrink-wrapped software packages, originally implemented decades ago in COBOL, are still used, e.g., PeopleSoft, emPath, Logo, Lawson ERP, etc. These facts are more a function of history than any widespread acceptance that COBOL provides the basis for modern computing applications.
First developed in 1959 by Grace Hopper for the U.S. Department of Defense, the language’s intent was to provide a transportable and more easily readable programming language that would work across multiple platforms. While COBOL is often criticized for being overly verbose, its syntax enabled many programmers to understand it simply by virtue of their command of the English language. In contrast, other programming languages required developers to learn a new syntax.
Without debating the merits of either approach, suffice it to say that COBOL became the lingua franca for many platforms. Its acceptance by IBM as the primary language for applications on its mainframe platform cemented its place in the annals of computer history.
COBOL’s Continued Relevance
For several decades, the amount of COBOL used by organizations around the world was estimated to be approximately 200B lines of code (LOC). This number never had any real facts to back up the assertion. Still, it became the accepted estimate, no matter how unreliable it may have been.
In a recent Micro Focus survey, the amount of COBOL in the marketplace was estimated to be an astounding 775-800B LOC. While their interpretation that this shows COBOL’s usage to be “still growing” is a dubious, self-serving conclusion, it indicates a significant market opportunity for COBOL modernization. The real question is whether the desire for modernization is equally as significant!
COBOL, Mainframes, and the Cloud
There is little argument that many business-critical applications originally developed in the COBOL language continue to run commercial and government organizations around the world, particularly those on IBM mainframes.
There is also little debate that the amount of interest and financial investment in both public and private cloud platforms dwarfs the investment in mainframe hardware and software or applications.
The technology of these cloud platforms is dramatically different from those of the mainframe, and the COBOL language is a non-player in these environments. As organizations wish to leverage the benefits of the cloud, they are forced to consider what to do with their existing COBOL-based application portfolios.
There ARE options to move these COBOL applications to the cloud using solutions from LzLabs or Micro Focus. These applications will run, and there ARE benefits to those approaches, but they do not leverage the real power of cloud architectures.
Additional Challenges of COBOL Modernization
The modernization of the COBOL programming language is only part of the problem when attempting to leverage the cloud. Transforming the syntax of COBOL to that of another procedural language is readily automated.
The problem is more complex when an architectural change drives application modernization to an object-oriented language. Many applications are tightly bound to the technological dependencies of the platform upon which they run, particularly the IBM mainframe. These dependencies include data typing, data/file structures, runtime APIs, and pre-relational DBMS navigation. Therefore, converting a COBOL program involves more than transforming the language – it also requires a shift from the dependencies on the underlying platform runtime software.
These challenges have caused organizations to embrace the easiest and most common strategy for application modernization – PROCRASTINATION! Organizations continue to depend on their COBOL programs. It’s difficult for many CIOs to accept the risks associated with dramatic changes to the technological underpinnings of their applications and, in particular, those that are characterized as “mission-critical.”
Yet the risks of inaction are NOT zero, and time is not the friend of the procrastinator. Arguably, the risks continue to grow in the face of declining skills availability, the exponential pace of digital transformation options, and the new powers of modern computing platforms. This will be the discussion of subsequent writings in this series on COBOL modernization.
– Guest content from Dale Vecchio, Mainframe Modernization Thought Leader
Find Out More
Watch A Modernization Dilemma: Cloud Application –
Or An Application In The Cloud