Just to clarify (I hope) information about PL/I, standards, and IBM.
If you check out:
and put "PL/I" in the search option (at the top)
You will see the dates of the "most recent" ANSI PL/I Standards. ANSI rules
say that any Standard *must* be reaffirmed every 5 years to be a "current"
- ANSI/INCITS 74-1987(R1993)
PL/I General Purpose Subset (formerly ANSI X3.74-1987(R1993))
- INCITS TR-7-1989
Information Processing Systems Technical Report - Real-Time Extensions for
PL/I (NOT AN AMERICAN NATIONAL STANDARD) "
are no longer currently recognized as active Standards.
There is also:
- ANSI/INCITS 53-1976(R1993)
Programming Language PL/I (formerly ANSI X3.53-1976(R1993))
which is (was) the last "non-subset" PL/I ANSI Standard - which also has not
been reaffirmed since 1993.
* * * * *
As far as ISO goes, you can go to:
click on "withdrawn" and search for PL/I. This will show you a link to:
which shows that even the PL/I "subset" was withdrawn by ISO in 1992.
* * * *
Now, as far as IBM and Standards goes, it must be understood that EVERY ANSI
or ISO Standard (that I know of) for a programming language explicitly
allows for implementor extensions. Having such does NOT make one
"non-standard" (unless there is no way to get "standard conforming" compiler
and run-time behavior for those features defined in the Standard.
So, just because IBM has extensions, this does not mean that they do NOT
conform to the (now defunct) ANSI (or ISO) PL/I Standards. With the proper
options set, IBM claims to conform to the defunct Standard and I have seen
no indication that they don't.
* * * *
Back to the origin of the current threads:
A) IBM does provide PL/I compilers that conform to the LAST (now defunct)
B) There appears to be ZERO interest in either ANSI or ISO to continue to
enhance (or even maintain) a Standard for PL/I
C) Yes, those extensions to the Standard that IBM has (and continues) to
introduce for its PL/I compilers are usually treated as "de facto" industry
Standards for PL/I. (especially as there are NO current de jure ANIS or ISO
D) At the time when the PL/I ANSI and ISO Standards were being maintained
and enhanced, IBM participated in that process. Sometimes the Standards
would "get ahead" of IBM and sometimes IBM would get ahead of the Standards.
As far as I know, each time the Standard "got ahead of IBM", they EVENTUALLY
provide Standard conforming compilers
E) The Standards committees OFTEN "rejected" extensions that IBM had
introduced. With few exceptions, others vendors usually (not always)
followed IBM in introducing such extensions to their compilers - even when
the Standards never added such features.
So, if YOUR question is:
Does IBM conform to the current PL/I Standard?
the answer is:
There is NO current ANSI (or ISO) PL/I Standard, but IBM does provide
options to conform to the LAST approved ANSI and ISO PL/I Standards.
If your question is:
I am comparing two languages; one with a current ANSI and/or ISO Standard
and one (PL/I) without, which will give me "greater portability"?
The answer is
It depends. Most PL/I compilers provide portability by including both
Standard conforming behavior and extensions that were initially introduced
by IBM. To the extent that other vendors (or IBM on other platforms) conform
to the DE FACTO IBM (not ANSI or ISO) Standard, then you can expect
portability with PL/I. However, if you are looking for a NON-vendor
definition of a programming language that is being maintained and enhanced
by ANSI or ISO, then PL/I is not your best choice. HOWEVER, even here, you
will find that some programming languages that DO have current ANSI or ISO
Standards do NOT have many (any?) compilers that actually claim to conform
to the latest (current) Standards. You should check a few vendors on a few
different platforms and see if they CLAIM to conform to the current
Standard. If not, then that other language probably offers no more (and
probably no less) portability than PL/I does.
Finally, although in the 1980's (and earlier) and in the early 1990's the US
government (and I think some others) often required "standard conforming"
compilers for certain hardware and software contracts, this is no longer
true. Therefore, it is PROBABLY irrelevant that PL/I has no current ANSI or
ISO Standard as far as current contracts go. Furthermore, as far as I know,
there are no longer ANY official "certification" processes for ANY
programming language compilers. Therefore, any claim by any compiler vendor
of "ANSI conformance" is based on their own "beliefs" (or of running no
longer maintained test suites).
* * * *
Hopefully, this note can resolve the issues from other threads and clarify
what is and is not "true" about PL/I, Standards, and IBM PL/I compilers.