I concur. The challenge as we all know is that technology evolves over time and is implemented in what we know and works versus where we’ll be fifty years later. The absolute strength of Z is that people are not left to have to keep rewriting what has been done and invest more time and money moving things along. IBM has done a good job at preserving investment at the cost of lost velocity on the platform. This is why I think Frank’s comments and request to consider Python (this thread) is so active.
A path forward that would make sense would be a new job control language like HELM that is familiar and modern and Kubernetes is the scheduler that runs the jobs. Embracing the new paradigms along side the existing models is what we as practitioners need to do. Tech that has existed for years has its place and benefits; it likely is not the future. Z is part of the cloud and must responsibly embrace those models without sacrificing what is good. I like the Eagles, they are not producing new music so I listen to new music and see what I like. We need to not get stuck but plot a path forward. Matt Hogstrom PGP Key: 0x90ECB270 I’m reading a book on anti-gravity. I can’t put it down. > On Jan 7, 2022, at 3:03 AM, David Crayford <[email protected]> wrote: > > 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 >> [email protected] <mailto:[email protected]> >> +1-919-656-0564 >> PGP Key: 0x90ECB270 >> Facebook <https://facebook.com/matt.hogstrom >> <https://facebook.com/matt.hogstrom>> LinkedIn >> <https://linkedin/in/mhogstrom <https://linkedin/in/mhogstrom>> Twitter >> <https://twitter.com/hogstrom <https://twitter.com/hogstrom>> >> >> “It may be cognitive, but, it ain’t intuitive." >> — Hogstrom >> >>> On Jan 6, 2022, at 10:05 PM, Andrew Rowley <[email protected]> >>> 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 [email protected] with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] <mailto:[email protected]> >> with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] <mailto:[email protected]> with > the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
