On Mon, 18 Jun 2012 22:07:22 -0400, John Gilmore wrote:
>
>Opinions differ.  I find JCL very easy to use.  It is powerful and
>flexible, a much better data-management vehicle than its immature UNIX
>analogues.
>
>A strong case can be made against some of the now, at best,
>obsolescent size restrictions imposed by this access method or that;
>but they are not really JCL restrictions, even when it enforces them.
> 
JCL does not mature gracefully.  For example, when I first
encountered JCL, it had a restriction of one level of PROC
calls.  This restriction has been relaxed to eight (IIRC).
This should be enough for practical needs.  But the implentation
is half-hearted (half-some anatomical reference if you please).
Overrides and referbacks don't work correctly past the first
level of calls.  The developers don't seem to be motivated
to provide a proper implementation.

And SET suffers related problems.  Suppose I code:

    // SET SURNAME='O''Reilly'

How can I use the defined symbol?  I don't believe I can
in any syntactically valid way.  So, I'll try:

    // SET SURNAME='O''''Reilly'

Now, I can code:

    //  EXEC PGM=ASMA90,'PARM=SYSPARM(&SURNAME)'

But suppose I want to pass the symbol value to a PROC?
Do I need to double the apostrophes again in the SET?
And exponentially increasing for each level of intended
procedure call?  And whatever I do will work at only the
planned call depth?  HLASM conditional assembly has a
more rational treatment of quoting.  At least, JCL sorely
needs HLASM's DOUBLE() BIF. Again, the developers
failed to address the consequences of the extension
to multiple levels of PROC calls.

You've lauded JCL's syntactic similarity to HLASM.  JCL
would do well to adopt HLASM's preprocessor (but IF-
THEN-ELSE is better structured than AGO).  But that
might imply reusable code, strictly prohibited by
Conway's Law.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to