home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / modula2 / 1101 < prev    next >
Encoding:
Text File  |  1992-09-03  |  6.4 KB  |  123 lines

  1. Newsgroups: comp.lang.modula2
  2. Path: sparky!uunet!psgrain!hippo!cspdt.ru.ac.za!cspt
  3. From: cspt@giraffe.ru.ac.za (Prof. P. Terry)
  4. Subject: Standardisation - deja vu
  5. Message-ID: <cspt.33.715533220@giraffe.ru.ac.za>
  6. Lines: 112
  7. Sender: news@hippo.ru.ac.za
  8. Organization: Rhodes University, Grahamstown, South Africa
  9. Date: Thu, 3 Sep 1992 15:13:41 GMT
  10.  
  11. Randy has suggested that new readers might like to see this for the first 
  12. timeand others might like to see it again
  13.  
  14. --------------
  15.  
  16. I have heard it said that all we ever learn from studying History is that
  17. mankind learns nothing from History.
  18.  
  19. Readers may be interested in the following extract from THE EMPEROR'S OLD
  20. CLOTHES - the ACM Turing Award lecture by Tony Hoare, 1980, which seems
  21. particularly relevant to our tale.  You can read the full article in Comm
  22. ACM 24(2), 75-83 (1981); it has also been reprinted in "Essays in Computing
  23. Science" (ed Hoare and Jones, Prentice Hall 1989, ISBN 013 284027 8)
  24.  
  25. Hoare is writing about Algol 68.  Did anybody ever really use Algol 68?  Do
  26. they still use Algol 68?
  27.  
  28. -------------
  29.  
  30. "During the period, August 1962 to October 1966, I attended every meeeting
  31. of the IFIP ALGOL working group.  After completing our labours on the IFIP
  32. ALGOL subset, we started on the design of ALGOL X, the intended successor
  33. to ALGOL 60.  More suggestions for new features were made and in May 1965,
  34. Niklaus Wirth was commissioned to collate them into a single language
  35. design.  I was delighted by his draft design which avoided all the known
  36. defects of ALGOL 60 and included several new features, all of which could
  37. be simply and efficiently implemented, and safely and conveniently used.
  38.  
  39. The description of the language was not yet complete.  I worked hard on
  40. making suggestions for its improvement and so did many other mambers of our
  41. group.  By the time of the next meeting in St Pierre de Chartreuse, France
  42. in October 1965, we had a draft of an excellent and realistic language
  43. design which was published in June 1966 as "A Contribution to the
  44. Development of ALGOL",  in the COMMUNICATIONS OF THE ACM.  It was
  45. implemented on the IBM 360 and given the title ALGOL W by its many happy
  46. users.  It was not only a worthy successor of ALGOL 60, it was even a
  47. worthy predecessor of Pascal.
  48.  
  49. At the same meeting, the ALGOL committee had placed before it, a short,
  50. incomplete and rather incomprehensible document, describing a different,
  51. more ambitious and, to me, a far less attractive language.  I was
  52. astonished when the working group, consisting of all the best-known
  53. international experts of programming languages, resolved to lay aside the
  54. commissioned draft on which we had all been working and swallow a line with
  55. such an unattractive bait.
  56.  
  57. This happened just one week after our inquest on the 503 Mark II software
  58. project.  I gave desperate warnings against the obscurity, the complexity,
  59. and over-ambition of the new design, but my warnings went unheeded.  I
  60. conclude that there are two ways of constructing a software design:  One
  61. way is to make it so simple that there are obviously no deficiencies and
  62. the other way is to make it so complicated that there are no obvious
  63. deficiencies.
  64.  
  65. The first method is far more difficult.  It demands the same skill,
  66. devotion, insight, and even inspiration as the discovery of the simple
  67. physical laws which underlie the complex phenomena of nature.  It also
  68. requires a willingness to accept objectives which are limited by
  69. physical, logical, and technological constraints, and to accept a
  70. compromise when conflicting objectives cannot be met.  No committee will
  71. ever do this until it is too late.
  72.  
  73. So it was with the ALGOL committee.  Clearly the draft which it preferred
  74. was not yet perfect.  So a new and final draft of the new ALGOL language
  75. design was promised in three months' time; it was to be submitted to the
  76. scrutiny of a subgroup of four members including myself.  Three months came
  77. and went, without a word of the new draft.  After six months, the subgroup
  78. met in the Netherlands.  We had before us a longer and thicker document,
  79. full of errors corrected at the last minute, describing yet another, but to
  80. me equally unattractive, language.  Niklaus Wirth and I spent some time
  81. trying to get removed some of the deficiencies in the design and in the
  82. description, but in vain.  The completed final draft of the language was
  83. promised for the next meeting of the full ALGOL committee in three months'
  84. time.
  85.  
  86. Three months come and went - not a word of the new draft appeared.  After
  87. six months, in October 1966, the ALGOL working group met in Warsaw.  It had
  88. before it an even longer and thicker document, full of errors corrected at
  89. the last minute, describing equally obscurely yet another different, and to
  90. me equally unattractive, language.  The experts in the group could not see
  91. the defects of the design and they firmly resolved to adopt the draft
  92. believing it would be completed in three months.  In vain, I urged them to
  93. remove some of the technical mistakes of the language, the predominance of
  94. references, the default type conversions.  Far from wishing to simplify the
  95. language, the working group actually asked the authors to include even more
  96. complex features like overloading of operators and concurrency.
  97.  
  98. When any language design project is nearing completion, there is always a
  99. mad rush to get new features added before standardization.  The rush is mad
  100. indeed, because it leads in to a trap from which there is no escape.  A
  101. feature which is omitted can always be added later, when its design and its
  102. implications are well understood.  A feature which is included before it
  103. is fully understood can never be removed later.
  104.  
  105. At last, in December 1968, in a mood of black depression, I attended the
  106. meeting in Munich at which our long-gestated monster was to come to birth
  107. and receive the name ALGOL 68.  By this time, a number of other members of
  108. the group had become disillusioned, but too late:  The committee was now
  109. packed with supporters of the language, which was sent up for promulgation
  110. by the higher committees of IFIP.  The best we could do was to send with it
  111. a minority report, stating our considered view that, "...as a tool for the
  112. reliable creation of sophisticated programs, the language was a failure."
  113. This report was later suppressed by IFIP, an act which reminds me of the
  114. lines of Hilaire Belloc,
  115.  
  116.        But scientists who ought to know,
  117.        Assure us that it must be so.
  118.        Oh, let us never, never doubt
  119.        What nobody is sure about.
  120.  
  121. I did not attend any further meetings of that working group."
  122.  
  123.