The arguments John Eells makes for retaining long-established
interfaces as they are and have been for decades are eminently
respectable generic ones.

As a defense cherished infelicities they are, I think, unanswerable.

In application to this case they nevertheless come close to something
very different, to defense of hallowed error.

The HLASM has rules---unchanged in it and long established in its
precursors---that specify the doubling of single quotes and ampersands
within single-quote framed strings.  Another use for John's arguments
would be to maintain that anyone who adheres to these rules has a
right to the expectation that a string that is well formed under them
will be processed correctly in an IBM-supplied macro.

I turn now to Peter Relson's statement that some PARM-field values
frequently used within IBM are just 7 characters in length.  As an
explanation of how an error may have arisen this is interesting, and
it is certainly unexceptionable.

As a defense of an error (or the retention of erroneous behavior) it
is less satisfactory.  Programmers who have any significant experience
writing macro definitions know that string-handling operations need to
be tested at boundary values.  What happens when a nul, zero-length
string is encountered?  What happens when a string of maximal
supported length is encountered?  Etc., etc.   In a word, data
dependencies are ugly.  They are indeed uglier than many other kinds
of errors, and they need to be tested for.

Half of the observation of Pliny the Younger is much quoted in English as

To err is human.

This truincation is now platitudinous.  The full Latin text is not.  It is

Errare humanum est, perseverare autem diabolicum.

To err is human; to persevere in it is diabolical.

John Gilmore, Ashland, MA 01721 - USA

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

Reply via email to