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).

It was then assigned to the American National Standards Institute (ANSI) for developing new COBOL standards. There are three ANSI standards for COBOL developed in the respective years 1968, 1974, and 1985.

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. COBOL 1985 - 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 2014 -COBOL 2002 suffered from poor support that no compilers completely supported the object-oriented standard. So the new and revised version was developed and released with the standard compiler's support in 2014.

COBOL Features -

COBOL is simple -

COBOL is a simple language that does not have pointers, user-defined functions, user-defined types, and limited function scope.

COBOL applications are regularly run in critical business areas. A COBOL application deals with large data regularly—for example, Bank transactions processing.

Standard Language -

COBOL is a standard language as it has an English-like syntax.

COBOL is stable -

While using other programming languages might require some changes to get the current system to work on the latest language updates. However, COBOL doesn't require modifications for software updates. It is stable in the background and "works as it works and runs as it runs earlier". Very little caring and feeding are required.

Business Oriented -

COBOL is mainly developed for business purposes and supports almost 70% of business applications in the current world.

Structured -

COBOL programming language has a predefined structure, and the programs should be developed using the predefined structure.

Robust -

COBOL is a robust language as it has several debugging and testing tools available that are suitable for almost all computer platforms.

Easy to read -

COBOL is like simple English. It is not very difficult to read and can understand easily.

Easy to Learn -

COBOL is very linear and self-describing. So that programmers can learn quickly.

Self-documenting -

One of COBOL's design goals was to make it possible for non-programmers to read and understand COBOL code, such as supervisors, managers, and users.

Advantages -

  • Easy to read as it is like English-like syntax.
  • Relatively easy to develop, use, and maintain.
  • Sel-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.