I have some comments on Paul Gilmartin's most recent post in this thread,
Beginning at the bottom of his text and working up:
1) In the sentence "Compatibilithy requires that nowadays HLASM
continue to shun
more disciplined design" the phrase "more disciplined design" is
better rendered as "design that I and some academics prefer". It is
an old trick to describe a scheme one disapproves of as
'undisciplined', 'unstructured', even 'anarchic'; but such
descriptions are not substantive arguments.
2) A macro's name can be used as an operand in a SETC expression, and
the SETC symbol so initialized can subsequently appear in the
operation field of a macro instruction. Both
|&macnvar setc 'MAC1'
| $macvar . . . --MAC1 macro instruction
and
|&macid setc 'macro_identifier'
| gblc &(&macid)
|&(&macid) setc 'MAC1'
&(&macid) . . . --MAC1 macro instruction
are supported. (The 2nd example appears to be gratuitously baroque,
but it has important uses.)
3) COBOL's ALTER statement is certainly deprecated. It is now
possible to write reentrant COBOL, and any use of ALTER would reduce a
putatively reentrant module to a serially reusable one. COBOL is open
to criticism, but criticizing it for its antique, now never used and
often unsupported features is not helpful.
4) Christopher Stachey's chief thrust in his arguments that functions
should be first-class citizens was that function variables should be
supported This is possible in PL/I, which has entry [constant] and
entry variable data types. It is even half-supported by C, which,
while it has no entry variables, does support the used of pointers to
functions, which can be passed around among functions. Strachey also
made related arguments about the desirability of being able to specify
aggregates, arrays and structures, as subroutine parameters and
arguments (formal parameters and actual parameters); and most modern
programming languages make facilities of one kind or another available
for doing this.
Strachey, certainly one of the five or six most important figures in
the history of computing, was in fact the sworn enemy of Paul's
"disciplined design". His CPL, the immediate precursor of BCPL, is,
for example, all but typeless; and it is entirely free of any impulse
in any form of what has come to be called "strong typing". (He died
at 60, much too young in his case; and those interested in him should
consult Roger Penrose's Reminiscences of him.)
John Gilmore, Ashland, MA 01721 - USA