Why COBOL is still on demand?

COBOL is the best programming language that uses side-by-side with mainframe computing. COBOL is essential for the global economy because most financial applications running on a Mainframe System with COBOL as a back-end system.

Some information about its usage as of today specified below -

  • Most of the banking transactions use the Mainframe COBOL applications. Example - About 96% of ATM swipes using COBOL Code.
  • COBOL language is over 63 years old and still powers up to 80% of in-person transactions in different sectors like banks, insurance, commerce, etc. Even IBM and the mainframe community specifies that nearly every credit card purchase or ATM transaction uses mainframe applications written in COBOL.
  • Up to 71% of Fortune 500 companies uses the mainframe with COBOL as a back-end application to process their day-to-day transactions.
  • According to a professional's observation, "More than Billion lines of new COBOL code" is being written every year. So there is still a lot of COBOL development under progress. According to Cameron Seay, "there will be a shortage of COBOL programmers within the next 10 to 15 years because nobody's teaching it nowadays".
  • Using COBOL apps, 60 Million hospital patients receiving healthcare services.
  • 500+ MILLION mobile phones connect to COBOL directly or indirectly.
  • 72K+ containers, 20K+ retirement plans are managed by COBOL programs.

So, "COBOL is Everywhere and supporting the systems that we are using every day quietly".

COBOL has a future?

Yes, it has. COBOL is the programming language that is refusing to retire from more than 6 Decades. As discussed above, 71% of fortune 500 companies using a mainframe. Even if the migration started today, it might definitely take decades to complete it.

So, COBOL is the most wanted programming language for our day-to-day activities in today's world. It's not dead. It's not dying. It's not going to die in the near future and with us for more than decade.. So interested people can start their career with mainframe technologies".

What is COBOL?

COBOL is an acronym for COmmon Business-Oriented Language, primarily developed for business, finance, and administrative system needs.

COBOL History -

COBOL is a high-level programming language first developed by the CODASYL Committee (Conference on Data Systems Languages) in the early 1960s (the First COBOL compiler was implemented in the same year).

  • First COBOL Compiler - It was then assigned to the American National Standards Institute (ANSI) for improvements, and three ANSI standards for COBOL developed in the respective years 1968, 1974, and 1988.
  • ANSI COBOL 1968 - American National Standards Institute (ANSI) developed a standard form of the language in 1968 to overcome incompatibility between different versions. The version was known as American National Standard (ANS) COBOL.
  • COBOL 1974 - ANSI published a revised version of (ANS) COBOL, which contains an additional set of features.
  • VS COBOL II (1988) - ANSI published another revised version with new features like scope terminators, including END-IF, END-PERFORM, END-READ, etc.
  • COBOL 2002 and object-oriented COBOL - Introducing object-orientation in COBOL work began in the early 1990s, and IBM, Fujitsu, Micro Focus was involved in developing object-oriented syntax. It was finally approved by the ISO standard and published in late 2002.
  • COBOL v4.1 (2007) - COBOL 2002 suffered from poor support that no compilers completely supported the object-oriented standard. So the most popular revised version was developed and released with the standard compiler's support in 2007.
  • COBOL v5.2 (2015) - The next popular revised version was developed and released in 2015.
  • COBOL v6.2 (by 2022) - COBOL 6.2 is the current stable version released in 2017 and COBOL v6.3 is the trail version that is currently in development.

Advantages -

  • Easy to read as it is like English-like syntax.
  • Relatively easy to develop, use, and maintain.
  • Self-documenting language.
  • Has many testing, analysis, and debugging tools.
  • Structured High-level programming language.
  • Compatible with the previous versions.
  • Free and Open-source.
  • Handles extensive/massive volumes of data processing with ease.
  • Platform independent - Portable across the platforms.

Disadvantages -

  • Coding might be very lengthy sometimes because of its structured programming.
  • Requires more compilation time and depends on program length and resource availability.
  • It can't use for scientific calculations.
  • Has very wordy syntax.
  • It requires more coding lines for specific logic compared with some other known programming languages in the market.
  • The programmer needs to have an understanding of machine language because sometimes needs to analyze the dump.

Different ways of using COBOL programs -

Based on the COBOL usage and program execution, the programs can be divided as two types. Those are -

  1. Batch programs
  2. Online programs
Batch Online
Batch programs needed JCL (JOB CONTROL LANGUAGE) to execute. Online programs don't need any other language to execute and trigger immediately when the user initiates tasks(transaction).
Batch programs with COBOL can have the below combination of programming languages.

COBOL programs
COBOL+DB2 programs
COBOL+DB2+VSAM programs
COBOL+DB2+VSAM+IMS DB programs
......
Online programs with COBOL+CICS can have the below combination of programming languages.

COBOL+CICS programs
COBOL+DB2+CICS programs
COBOL+DB2+VSAM+CICS programs
COBOL+DB2+VSAM+CICS+IMS DB programs
......
The batch program doesn't require a terminal to run. The online program mostly requires a terminal to initiate processing.
The batch is program-driven. Online is data-driven.
Batch processing is the execution of a series of programs ("jobs") on a computer without manual intervention. Online programs prompt the user to provide input.
Batch requires exclusive control over the resources, where another task requires the same resources need to wait until the resource is released by the first task. Online has shared access across the resources, and multiple tasks can use the resource parallelly.