About COBOL Textbook
COBOL Textbook is a tutorial site for a language that is older than most of the people maintaining it and still runs a startling share of the world's transaction processing. It is maintained by one person, and the articles are produced from the sources each one names, under that person's direction, and how this site is made has the details.
Editor
C. B. Zakarian (a pen name) is the owner and editor of COBOL Textbook. C. B. Zakarian holds a Ph.D. in Information Systems, with a focus on data science, from the University of North Carolina at Greensboro (2016), and is an assistant professor.
C. B. Zakarian decides what COBOL Textbook publishes and when, and the figures on each page are checked against the sources it names before publication. Pages the editor has reviewed in full show the date of that review, and errors are corrected when they are found.
What a tutorial here is
Each lesson is one complete program. Not a fragment, not pseudocode: a listing with all four divisions, written for GnuCOBOL, the free compiler that implements the ISO standard plus most of the IBM and Micro Focus extensions people meet at work. The listing is explained line by line, the dialect and format (free or fixed) are stated at the top, and anything that is IBM-only or GnuCOBOL-only is called out where it appears rather than smoothed over.
Where a program reads or writes a file, the sample file and the copybook ship with the lesson, so nothing the program needs is missing. Where a lesson touches the modern world, Python does the other half: generating fixed-width test data, parsing a copybook, checking a report, calling a COBOL module from something newer.
What this site refuses to do
No listings that "should work". A program is either compiled and run, and the lesson says so, or it is desk-checked against the GnuCOBOL Programmer's Guide and the standard, and the lesson says that instead. GnuCOBOL 3.2 is now installed where the site is built. By 30 October 2026, 14 of the 23 lessons had been compiled and run with it, and each of those shows that run's output and says so. The other 9 still carry the desk-check label they were written with and will be re-run and re-labelled one lesson at a time. No mainframe folklore presented as fact: where a behaviour is specific to Enterprise COBOL on z/OS, it is cited to the IBM documentation or left out. No exclamation marks.
Why COBOL, in 2026
Because the systems are still there, the people who wrote them are retiring, and the language is easier to learn than its reputation. A modern COBOL shop uses version control, unit tests, and JSON, and the language has caught up with JSON GENERATE, FUNCTION intrinsics, free-format source, and call interfaces to C and everything C can reach. This site teaches that COBOL, not the 1974 one.
Contact
Corrections are welcome and acted on. If a listing does not compile for you, say so and include the compiler version and the error text; that is usually the whole answer.