[continuing John's discussion]
> [said John]
> >> I guess the point I'm trying to make is that I don't believe Pascal to be a
> >> good example of failure in the validation system due to the limited nature of
> >> the language itself.
> >Just a clarification: as I recall, the fellow responsible for the Pascal
> >validation suite made it clear that Borland Pascal failed in the part of
> >the language that was covered by the standard, not (just) in the extensions.
> I can accept that, but the point I wanted to make was that thre may have been
> reasons why certain standardised parts of the language may have required
> implementations that would not have been suitable for the purposes of Borland's
> Pascal product. I take your point about the possibility of having a
> switch/pragma, but I'm not really into criticising Borland - I think we have a
> lot to thank them for.
It was not my intent to criticize Borland either. Rather, I was trying
to point out that only the Ada community has ever really cared about
having a standard that was strong enough that an independent validation
process was meaningful.
* * * * *
I followed the process by which the ISO Pascal standard was developed.
As I recall, it was adopted after many years of dissension in the
Pascal community, and then, finally, _two_ standards were adopted:
- one that provided for "conformant array parameters", by
which a subprogram could be written with a parameter whose bounds
were unspecified - a bit like Ada's unconstrained array parameters -
so as to provide for general purpose array-handling subprograms
- one that was identical to Level 1, except that it did _not_
support conformant array parameters
The American committee members objected strenuously to Level 1 -
of course, these members included Microsoft, Borland, and the other
compiler vendors. The others really wanted the conformant arrays.
In the end, the only way to get the standard adopted was to satisfy
both sides by adopting two standards.
Of course neither version of the standard supported any sort of
separate unit compilation mechanism (probably because the different
vendors had such completely incompatible ways of doing this), so the
process labored mightily and brought forth a mouse.
* * * * *
Back to my original point, about which we can all agree: by and
large, the customers didn't care much. They stuck to one vendor
and lived with the dialect problem.
Bottom line: all these years have taught me that it's naive to
expect that the software industry will really focus on meaningful
standards and validation. The vendors don't want it, and their
customers don't know enough or care enough to force the issue.
Ada is, I think, the only real exception, and the Ada validation
culture happened only because Uncle Sam had enough clout to force
the issue _before_ there was an entrenched vendor/user community.
I don't think it could happen today, with titans like Sun and
Microsoft - neither of which had this much clout in the early 80s -
basically determining the marketplace (and clawing each others'
eyes out over Java). Uncle Sam is sitting on the sidelines now.