A language used to write the sequence of commands that will control the running of a job. In a normal programming language the objects manipulated and the operations applicable to these objects correspond to variables within the original problem. In a JCL the objects manipulated are such things as complete programs, or the input and output streams for these programs. Most JCLs incorporate features to control the sequence in which actions will be performed, including some form of conditional statement. The shell language provided for users to control a computer can often be used to write shell scripts (job files) that can do job control. When written with initial capitals, Job Control Language refers specifically to the scripting language developed by IBM for its mainframes.