On 7/1/22 12:33 pm, Matt Hogstrom wrote:
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.
And the declarative nature of pom.xml is why people have shifted from
Maven to Gradle which is basically a groovy DSL where you can drop down
into scripting. Same as a Jenkins with the Jenkinsfile, you can choose
to use Groovy if you want to add logic.
JCL sucks! We know it sucks but there is nothing we can do about it
other than suck it up and crack on. Try and teach a new hire about a DCB
with cylinders and tracks and RECFM, LRECL, BLKSIZE etc. It's no wonder
they prefer the file system.
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
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN