From: cspt@giraffe.ru.ac.za (Prof. P. Terry)
Subject: Standardisation - deja vu
Organization: Rhodes University, Grahamstown, South Africa
Date: Thu, 3 Sep 1992 15:13:41 GMT

Randy has suggested that new readers might like to see this for the first 
timeand others might like to see it again

--------------

I have heard it said that all we ever learn from studying History is that
mankind learns nothing from History.

Readers may be interested in the following extract from THE EMPEROR'S OLD
CLOTHES - the ACM Turing Award lecture by Tony Hoare, 1980, which seems
particularly relevant to our tale.  You can read the full article in Comm
ACM 24(2), 75-83 (1981); it has also been reprinted in "Essays in Computing
Science" (ed Hoare and Jones, Prentice Hall 1989, ISBN 013 284027 8)

Hoare is writing about Algol 68.  Did anybody ever really use Algol 68?  Do
they still use Algol 68?

-------------

"During the period, August 1962 to October 1966, I attended every meeeting
of the IFIP ALGOL working group.  After completing our labours on the IFIP
ALGOL subset, we started on the design of ALGOL X, the intended successor
to ALGOL 60.  More suggestions for new features were made and in May 1965,
Niklaus Wirth was commissioned to collate them into a single language
design.  I was delighted by his draft design which avoided all the known
defects of ALGOL 60 and included several new features, all of which could
be simply and efficiently implemented, and safely and conveniently used.

The description of the language was not yet complete.  I worked hard on
making suggestions for its improvement and so did many other mambers of our
group.  By the time of the next meeting in St Pierre de Chartreuse, France
in October 1965, we had a draft of an excellent and realistic language
design which was published in June 1966 as "A Contribution to the
Development of ALGOL",  in the COMMUNICATIONS OF THE ACM.  It was
implemented on the IBM 360 and given the title ALGOL W by its many happy
users.  It was not only a worthy successor of ALGOL 60, it was even a
worthy predecessor of Pascal.

At the same meeting, the ALGOL committee had placed before it, a short,
incomplete and rather incomprehensible document, describing a different,
more ambitious and, to me, a far less attractive language.  I was
astonished when the working group, consisting of all the best-known
international experts of programming languages, resolved to lay aside the
commissioned draft on which we had all been working and swallow a line with
such an unattractive bait.

This happened just one week after our inquest on the 503 Mark II software
project.  I gave desperate warnings against the obscurity, the complexity,
and over-ambition of the new design, but my warnings went unheeded.  I
conclude that there are two ways of constructing a software design:  One
way is to make it so simple that there are obviously no deficiencies and
the other way is to make it so complicated that there are no obvious
deficiencies.

The first method is far more difficult.  It demands the same skill,
devotion, insight, and even inspiration as the discovery of the simple
physical laws which underlie the complex phenomena of nature.  It also
requires a willingness to accept objectives which are limited by
physical, logical, and technological constraints, and to accept a
compromise when conflicting objectives cannot be met.  No committee will
ever do this until it is too late.

So it was with the ALGOL committee.  Clearly the draft which it preferred
was not yet perfect.  So a new and final draft of the new ALGOL language
design was promised in three months' time; it was to be submitted to the
scrutiny of a subgroup of four members including myself.  Three months came
and went, without a word of the new draft.  After six months, the subgroup
met in the Netherlands.  We had before us a longer and thicker document,
full of errors corrected at the last minute, describing yet another, but to
me equally unattractive, language.  Niklaus Wirth and I spent some time
trying to get removed some of the deficiencies in the design and in the
description, but in vain.  The completed final draft of the language was
promised for the next meeting of the full ALGOL committee in three months'
time.

Three months come and went - not a word of the new draft appeared.  After
six months, in October 1966, the ALGOL working group met in Warsaw.  It had
before it an even longer and thicker document, full of errors corrected at
the last minute, describing equally obscurely yet another different, and to
me equally unattractive, language.  The experts in the group could not see
the defects of the design and they firmly resolved to adopt the draft
believing it would be completed in three months.  In vain, I urged them to
remove some of the technical mistakes of the language, the predominance of
references, the default type conversions.  Far from wishing to simplify the
language, the working group actually asked the authors to include even more
complex features like overloading of operators and concurrency.

When any language design project is nearing completion, there is always a
mad rush to get new features added before standardization.  The rush is mad
indeed, because it leads in to a trap from which there is no escape.  A
feature which is omitted can always be added later, when its design and its
implications are well understood.  A feature which is included before it
is fully understood can never be removed later.

At last, in December 1968, in a mood of black depression, I attended the
meeting in Munich at which our long-gestated monster was to come to birth
and receive the name ALGOL 68.  By this time, a number of other members of
the group had become disillusioned, but too late:  The committee was now
packed with supporters of the language, which was sent up for promulgation
by the higher committees of IFIP.  The best we could do was to send with it
a minority report, stating our considered view that, "...as a tool for the
reliable creation of sophisticated programs, the language was a failure."
This report was later suppressed by IFIP, an act which reminds me of the
lines of Hilaire Belloc,

       But scientists who ought to know,
       Assure us that it must be so.
       Oh, let us never, never doubt
       What nobody is sure about.

I did not attend any further meetings of that working group."

Newsgroups: comp.lang.modula2
From: nigel@ietech.demon.co.uk ("Nigel G. Backhurst")