JCL is comparable to the US Postal Service's terminology involved in mailing a 
letter or shipping a package.  Mail sending has words like sender, recipient, 
postage, postage due (this one is more of an artifact now), telephone number of 
recipient, etc.  JCL tells the operating system how to execute one or more 
programs, all of which have been created using some kind of programming 
language, such as FORTRAN, PL/1, Assembler, HLASM, COBOL, RPG, etc., and where 
these programs can find the data files they need when running.  JCL is a 
language, definitely, but not a programming language.  It is an execution-time 
language.  Consider the expansion its acronym - Job Control Language.  JCL 
controls a computer "job", not individual pieces of data or storage.

To understand what JCL is, you must understand what a "job" is.
Another approach would be to find a copy of IBM's technical manual titled 
something like "Job Control Language" and read the first few paragraphs or 
pages of the text.

A job is not the same as a program, or an execution-time instruction within a 
program, or the data that said program needs to work with when it is executing.

Bill Fairchild
Columbia, South Carolina
USA

Awareness is the precursor to change.

> On 11/11/2024 8:21 PM EST Bob Bridges 
> <00000587168ababf-dmarc-requ...@listserv.ua.edu> wrote:
> 
>  
> Hm, I may have to cede this point.  It's why I like these discussions.
> 
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
> 
> /* Doubt is not a pleasant condition, but certainty is absurd.  -Voltaire */
> 
> -----Original Message-----
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
> Schmitt, Michael
> Sent: Monday, November 11, 2024 14:48
> 
> I plant my stake firmly in the "JCL is not a programming language" camp. It 
> is a /control/ language.
> 
> Whether it could be considered a scripting language or not depends on your 
> definition. I'll say /yes/: some scripting languages are also programming 
> languages but not all.
> 
> For example, you can have a simple language for scripting TN3270 screens, 
> that just plugs in values and waits for the response, but has no other 
> decision or branching logic. Or take BTI (Batch Terminal Interface) scripts 
> for CA-7: they're just a series of commands, but no logic.
> 
> As for /why/ JCL isn't a programming language: as was pointed out, it isn't 
> self-sufficient. It can't even run without reference to other programs, which 
> are /not/ part of JCL or JES. It can't do input or output. It can't set 
> variables while running. While it can sort of branch based on return codes, 
> it has no way to set the return codes. It can't even display "Hello, World".
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to