COBOL, the Common Business-Oriented Language, was designed in 1959 by a committee of computer manufacturers, users and the U.S. government to give business data processing a common language. More than sixty years later, people still ask why is COBOL still used in banks, and the short answer is that the systems written in it work, process money exactly, and are very expensive and risky to replace. COBOL's history explains how it ended up there.

Origins: CODASYL and the 1959 Pentagon meeting

By the late 1950s each manufacturer had its own business language. Remington Rand had Grace Hopper's FLOW-MATIC, IBM was designing COMTRAN, and Honeywell was working on FACT. Large customers, especially the U.S. Department of Defense, wanted programs that could move between machines. In 1959 Mary Hawes of Burroughs called for a common business language, and in May 1959 a meeting at the Pentagon created CODASYL, the Conference on Data Systems Languages.

A short-range committee, which included Jean Sammet among its members, produced a specification by the end of 1959. It was published as COBOL 60. In December 1960, the same COBOL program was compiled and run on two different machines, an RCA 501 and a Remington Rand UNIVAC II, demonstrating the portability the project had promised.

Design and key features

COBOL was built for records, files and money, not for mathematics:

  • English-like syntax, with statements such as MOVE, ADD, COMPUTE and PERFORM, intended to be readable by managers and auditors.
  • Four divisions: IDENTIFICATION, ENVIRONMENT, DATA and PROCEDURE, separating program metadata, machine dependencies, data layout and logic.
  • PICTURE clauses that describe the exact format of each field, such as PIC 9(7)V99 for a seven-digit number with two implied decimal places.
  • Fixed-point decimal arithmetic, avoiding the rounding errors that binary floating point introduces in currency calculations.
  • Hierarchical record structures with level numbers that map directly onto file and database records.

A short code example

This small program calculates simple interest using decimal fields. It follows traditional fixed-format layout, with code starting in column 8:

       IDENTIFICATION DIVISION.
       PROGRAM-ID. CALC-INTEREST.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 PRINCIPAL      PIC 9(7)V99 VALUE 1500.00.
       01 RATE           PIC V999    VALUE .045.
       01 INTEREST-AMT   PIC 9(7)V99.
       01 DISPLAY-AMT    PIC Z(6)9.99.
       PROCEDURE DIVISION.
           COMPUTE INTEREST-AMT ROUNDED = PRINCIPAL * RATE.
           MOVE INTEREST-AMT TO DISPLAY-AMT.
           DISPLAY "INTEREST: " DISPLAY-AMT.
           STOP RUN.

The result, 67.50, is computed in decimal exactly as an accountant would expect, with explicit rounding.

Major versions and standards

StandardHighlights
COBOL 60 / COBOL-61Original CODASYL specifications
COBOL-68First ANSI standard
COBOL-74Revised ANSI standard, file handling improvements
COBOL-85Structured programming: scope terminators such as END-IF, inline PERFORM, EVALUATE
COBOL 2002Object-oriented features, free-format source
COBOL 2014 and 2023ISO revisions with further modernisation

How COBOL has been used

COBOL became the standard language for business systems on mainframes from the 1960s onward: payroll, billing, inventory, insurance policy administration, tax processing and, above all, banking. On IBM mainframes, COBOL programs typically run as overnight batch jobs or as online transactions under CICS, working with VSAM files or DB2 databases. The Y2K effort of the late 1990s was largely a COBOL effort, since many programs stored years as two digits. In 2020, several U.S. states, including New Jersey, publicly appealed for COBOL programmers when unemployment benefit systems were overwhelmed.

Why is COBOL still used in banks

Several practical reasons keep COBOL at the core of financial institutions:

  • Exact decimal arithmetic suits currency, interest and ledger calculations.
  • Proven reliability. Core banking code has been tested by decades of real transactions.
  • Mainframe throughput. COBOL on IBM Z handles very large transaction and batch volumes.
  • Replacement risk. Business rules are often documented only in the code, and failed migrations can disrupt customers and regulators.
  • Backward compatibility. Modern compilers still run programs written decades ago.

Is COBOL still used today?

Yes. IBM Enterprise COBOL, Micro Focus (now OpenText) COBOL and the open-source GnuCOBOL are all maintained, and banks, insurers and governments continue to run and extend COBOL systems, often wrapping them with modern APIs rather than replacing them.

When people ask why is COBOL still used in banks, the realistic answer is not nostalgia. It is that COBOL does one job, accurate high-volume record processing, extremely well, and the cost of rewriting what already works is hard to justify.

Frequently asked questions

Who invented the COBOL programming language?

COBOL was designed by the CODASYL short-range committee in 1959, not by one person. Grace Hopper is often called the "mother of COBOL" because her FLOW-MATIC was its main model and she advised the committee, but the specification was a group effort.

Why do banks not replace COBOL with a modern language?

Core banking systems contain decades of business rules, regulatory logic and tested edge cases. Rewriting them is expensive and risky, so most banks modernise gradually by adding APIs and moving surrounding services to newer platforms.

Is learning COBOL still worth it for a career?

For people interested in mainframes, banking or government IT, it can be. Many experienced COBOL developers are retiring, and organisations still need staff who can maintain and integrate these systems.