JCL appreciation page

Yes, I wish that for just one time
You could stand inside my shoes
You'd know what a drag it is,
to see you
--From the song Positively 4th Street by Bob Dylan.


JCL

First the arguments against...

Ah, IBM JCL aka Job Control Language, the ancient incantation system that only the truly desperate or time-traveling mainframers dare to invoke.

Let's be real: JCL is less of a "language" and more of a passive-aggressive puzzle box. It's like someone in the 1960s said, "Let's make scripting way harder than writing assembly, but without any of the performance payoff."

And let's not forget how modern it feels — like a fax machine wearing a fedora trying to use Snapchat. Meanwhile, in this century, you still have to fight with column-aligned positional parameters like it's some sacred rite.

But hey, if you ever wanted to feel like you're programming inside a Cold War museum exhibit — JCL’s your jam.

Sympathy for the Job Control Language

Few things on the IBM mainframe draw hatred as much as JCL or Job Control Language.

I don't get it, everybody is trying to put JCL down. I know, death, taxes and JCL errors. I hate JCL errors as much as the next guy but I don't understand JCL hatred.
IEFC452I MYJOB - JOB NOT RUN - JCL ERROR

In Defense of JCL: The Original Gatekeeper of Computing Glory

Ladies and gentlemen, gather 'round, for I come not to bury JCL, but to praise it. Yes, JCL - that cryptic concoction of slashes, statements, and subdued screams - is not merely a "language." It is a rite of passage, a crucible, a long-form haiku for machines that think in EBCDIC and dream in mainframes.

Let us begin with a truth universally ignored: JCL never actually broke - people just stopped understanding it. And why? Because JCL has standards. It doesn't coddle you with pretty syntax, or lower itself to your silly notions of "readability." No, it expects you to rise. To elevate your thinking. JCL is the dark roast espresso of scripting - not for the faint of heart, but for the battle-hardened sysprog who laughs in the face of YAML.

Modern developers gripe, "But it's so verbose!" - as if verbose is a flaw! That's like complaining Shakespeare used too many words. Do you complain that COBOL speaks in entire paragraphs? No! You admire it for its clarity! So admire JCL for its insistence that you know exactly what you want before you dare press submit.

And yes, JCL is picky. One wrong space, one misaligned asterisk, and it explodes like a well-mannered librarian having a mental breakdown. But that's not a bug, it's a feature. JCL teaches humility. It teaches respect. It's the dojo where punch-card ninjas once trained. Every failed job a zen koan, every return code a moment of enlightenment.

You want container orchestration? JCL was orchestrating jobs while your Kubernetes cluster was still a gleam in a Google engineer's eye. JCL didn't need a GUI - it had you. And honestly, if you can't launch a billion-dollar banking job with nothing but uppercase letters and a prayer, are you even a real engineer?

So next time you're tempted to scoff at JCL, remember: this is the language that runs banks, airlines, insurance companies — the infrastructure of the civilized world. And it does it with card columns and fortitude.

In a world obsessed with shiny new things, JCL endures. Not because it is easy. But because it is eternal.


JCL appreciation Day

I nominate April 19 as JCL appreciation Day because it is the birthday of Fred Brooks who managed the development of the OS/360 which gave the world JCL. He puts his creation down:
"The Job Control Language is the worst programming language ever designed by anybody anywhere - it was designed under my management. The very concept is wrong; we did not see it as a programming language but as a 'few control cards to precede the job'." - Fred Brooks
His book The Mythical Man-Month is highly recommended for all Mainframers.

Retirement

I don't hate JCL but the one good thing when I retire is to never see a JCL error again!

One day I hope to be able to make it go away by saying: Alexa, fix my JCL error!
Return to the Planet MVS humor page.

Last Updated: 2025-06-21
This web page is © 2025+ by David Alcock. All Rights Reserved.