I don't dispute that, but I'd kinda like to hear the specifics of their reasoning.
I've never actually used JCL, but I'm willing to cut it a little slack because, IIRC, it literally started in the 60s as a way to specify job-execution information on a punched cards for batch processing systems that had as little as 8K of memory. What I've read about very early personal computers with similar amounts of memory makes me think it requires serious compromises to implement anything that actually works on such a system.
It was still the worst programming language ever created even when it was new and wart free.
If you don't make thing complicated, it's easy.
That's solid advice for any language. Clever code actually isn't.
When it came to JCL, the advice I got and what everyone I worked with did, was to copy working JCL and modify it. I never wrote it from scratch, nor did I know anyone who did.
That’s the worst mistake we made was JCL.
Yeah. Well the existence of JCL was a mistake. Building it on a card format was a mistake. Building it on assembly language was a mistake. Thinking of it as only six little control cards instead of a language was a mistake so it had no proper sub-routine facilities, no proper branching facilities.
It kind of grew. It kind of grew but when you end up with your data definitions doing all the verbiage things because you’ve limited yourself to six verbs that’s a language mistake.
We didn’t see it as a language was the fundamental problem. We saw it as a set of control cards.
And lo and behold they’re still around, the dusty decks that nobody dare touch because they run and nobody knows what’s inside
Incredibly complicated, the keyword parameters and the set goes on and on and on and on ...
[1] https://archive.computerhistory.org/resources/access/text/20...
It sounds more like they are saying it’s a nightmare for the creators of the language to maintain.
Any language that allows its users to do that to themselves is a very bad language. Good languages encourage good practices.