What is Job Control Language (JCL)?

JCL (Job Control Language), just like COBOL, is not a language used to create any OS, but rather to run jobs in a mainframe environment. In that aspect, COBOL, while controlled by JCL in order to compile and its binaries to run, drove the innovation of mainframes.

By Jonathan Schilling — Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=123089173

JCL was released in 1965 by IBM for the IBM OS/360 system as a means to run any group of commands in a specific order (batch). It soon became the default means to compile and/or run COBOL compiled binaries. For many users, JCL became closely related to COBOL and not a language to write batches.

For batching in a mainframe environment, I preferred REXX (Restructured Extended Executor), which IBM released in 1979, because it is similar to shell scripting or DOS batching. As a matter of fact, I used to have fun calling REXX scripts from my PROFILE EXEC file (similar to an AUTOEXEC.BAT in DOS) when logging in to start accounts and printers as the operator in z/VM. As the saying goes, all good things come to an end and the organization I work for moved production to a PeopleSoft (Oracle).