COBOL Programming Tutorial: A Guide for Beginners

Introduction to COBOL
COBOL is one of the oldest programming languages in existence, yet it is still in massive use worldwide and continues to grow at a constant rate. This COBOL programming tutorial gives a brief overview of COBOL, its history, its characteristics, and why it still dominates enterprise computing today.
What is COBOL?
COBOL stands for Common Business-Oriented Language. It is a high-level programming language specifically designed to develop business-oriented applications.
Unlike general-purpose languages such as Java, Python, or C++, COBOL was built from the ground up to handle massive data processing workloads for specific business enterprise needs.
The Invisible Giant
There are currently more than a billion lines of COBOL code running in production. Every time you withdraw money from an ATM, book a flight, or process an insurance claim, you are likely interacting with a COBOL system in the background.
COBOL is robust, powerful, and easy to learn. It offers unparalleled file handling, database management, reporting, sorting, and merging capabilities for mission-critical applications.
The History of COBOL
The journey of COBOL began in the late 1950s when the world sensed the need for a standardized business programming language.
In May 1958, the U.S. Department of Defense held a conference to bring a group of engineers together to develop a high-level, English-like programming language. This team of professionals was named CODASYL (Conference on Data Systems Languages).
- 1959: The new language comes into existence.
- 1960: COBOL is officially released.
- 1968: The American National Standards Institute (ANSI) approves COBOL for commercial use, a major milestone.
Since 1968, COBOL has continuously evolved, adding tons of new features such as Object-Oriented Programming, XML, and JSON data support. Despite these advances, it has always maintained backward compatibility with its old syntax. You learn it once, and you can use it forever.
Features of COBOL
Why is COBOL still used heavily in the banking, aviation, retail, and automobile industries?
- Standardization: COBOL is a strictly standardized language.
- Platform Independence: COBOL code can run on different machine architectures.
- Readability: COBOL is an English-like programming language, making it easy to read and audit.
- Structured: It enforces a clean, structured programming approach.
- Modern Support: Modern COBOL supports Object-Oriented Programming.
- Data Handling: It has industry-leading file handling and database processing capabilities.
The COBOL Program Structure
The COBOL program structure is notoriously rigid but logically simple. Every COBOL program is divided into four main Divisions:
- IDENTIFICATION DIVISION: Supplies information about the program to the programmer and the compiler.
- ENVIRONMENT DIVISION: Describes the computer system and external files the program needs.
- DATA DIVISION: Describes the data the program will process (variables, file records).
- PROCEDURE DIVISION: Contains the actual logic and instructions the computer will execute.
Hierarchical Structure
Divisions are divided into Sections. Sections are divided into Paragraphs. Paragraphs contain Sentences, and Sentences contain Statements (the actual commands).
COBOL Data Types
In layman's terms, a data type tells the compiler how the programmer intends to use the data. COBOL keeps things remarkably simple. There are essentially only three main data types:
- Numeric: For mathematical calculations.
- Alphanumeric: For text and strings.
- Alphabetic: Strictly for letters (rarely used today, alphanumeric is preferred).
(Edited Numeric and Edited Alphanumeric are subcategories used specifically for formatting data on reports).
Variables and Literals
In COBOL, you declare variables specifying their exact length:
101 CUSTOMER-NAME PIC X(20). -- Defines an alphanumeric variable of exactly 20 characters
201 INTEREST-RATE PIC 9(02) VALUE 10. -- Defines a numeric variable with a default value of 10To move data into a variable (a literal string), you use the MOVE statement:
1MOVE "JOHN SMITH" TO CUSTOMER-NAME.String Handling in COBOL
Any data-name defined with USAGE IS DISPLAY (like PIC X) is regarded as a string in COBOL. String handling refers to:
- Comparison: Checking if two strings match.
- Concatenation: Joining two or more strings together using the
STRINGstatement. - Segmentation: Splitting strings apart using the
UNSTRINGstatement. - Scanning: Using the
INSPECTstatement to count occurrences of characters. - Replacement: Using the
INSPECT ... REPLACINGstatement to swap characters.
The INSPECT Statement
The INSPECT verb is incredibly powerful and is used for two main purposes:
- Counting the number of occurrences of a given character in a field.
- Replacing specific occurrences of a given character with another character.
1-- Example: Replacing all spaces with zeros in an account number
2INSPECT ACCOUNT-NUMBER REPLACING ALL " " BY "0".The COPY Statement
Most enterprise systems consist of hundreds of programs. Usually, files and database tables are accessed by more than one program.
To avoid writing the exact same Data Division definitions in every single program, COBOL provides the COPY statement (similar to an include or import in modern languages).
Instead of typing out a 100-line table definition, you write it once in a "Copybook", and then pull it into your program like this:
1COPY CUSTOMER-RECORD.This ensures every program uses the exact same file description, eliminating errors and saving massive amounts of time.
Conclusion
While COBOL might be considered a "legacy" language, it is the backbone of the global financial system. Learning the basics of COBOL not only gives you insight into the history of computing but also opens doors to a niche, highly reliable career path in enterprise software maintenance.
