I would not describe JCL as a programming language anymore than  a pom is a 
language.  Maven uses the pom XML to describe actions, dependencies and based 
on its analysis actually does the execution.  Not a great comparison but I 
think it is consistent with JCL being a set of directives that are interpreted 
and acted upon as opposed to being an execution engine.  I think its does a 
fine job for what it is for in terms of abstraction of data from programs, 
allowing serialization via JES and dynamic allocation, etc.  It describes a 
unit of work.

Matt Hogstrom
m...@hogstrom.org
+1-919-656-0564
PGP Key: 0x90ECB270
Facebook <https://facebook.com/matt.hogstrom>  LinkedIn 
<https://linkedin/in/mhogstrom>  Twitter <https://twitter.com/hogstrom>

“It may be cognitive, but, it ain’t intuitive."
— Hogstrom

> On Jan 6, 2022, at 10:05 PM, Andrew Rowley <and...@blackhillsoftware.com> 
> wrote:
> 
> On 7/01/2022 12:23 pm, David Crayford wrote:
>> 
>> I understand that it's declarative. But it has logic such as IF/THEN. That 
>> is no reason why it couldn't have been a scripting language like CL on 
>> AS/400.
>> 
> IF/THEN was a late addition, and is probably one of the biggest problems with 
> JCL because it doesn't work like IF/THEN in a programming language. IF/THEN 
> is really a property of the enclosed steps (I suspect it generates the same 
> thing as equivalent COND statements on the steps) rather than a logical block 
> in the JCL.
> 
> e.g. from the JCL reference:
> 
> The system processes the following statements regardless of the logic of the 
> IF/THEN/ELSE/ENDIF
> statement construct. They can be placed in a THEN or ELSE clause, but they 
> are not executed
> conditionally.
> • PROC and PEND statements
> • JES2 and JES3 statements and commands
> • JCL command statements
> • Comment (//*) statements
> • INCLUDE statements
> • Delimiter (/*) statements
> • Null statements
> • SET statements
> 
> The IF/THEN/ELSE/ENDIF statement construct does not conditionally control the 
> processing of JCL; rather, it conditionally controls the execution of job 
> steps.
> 
> 
> -- 
> Andrew Rowley
> Black Hill Software
> 
> ----------------------------------------------------------------------
> 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