Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!bloom-beacon!eru!kth.se!sunic!mcsun!ukc!cam-cl!news From: nmm@cl.cam.ac.uk (Nick Maclaren) Newsgroups: comp.lang.misc Subject: Re: Algol68 Message-ID: <1991Mar20.154216.26337@cl.cam.ac.uk> Date: 20 Mar 91 15:42:16 GMT References: <3787@bruce.cs.monash.OZ.AU> <1991Mar8.202516.10401@praxis.co.uk> <3628@ux.acs.umn.edu> Reply-To: nmm@cl.cam.ac.uk (Nick Maclaren) Organization: U of Cambridge Comp Lab, UK Lines: 56 In article <3628@ux.acs.umn.edu> dhoyt@vx.acs.umn.edu writes: >In article , dww@math.fu-berlin.de (Debora Weber-Wulff) writes... >>Why is Algol 68 not being used? Well, it seems to have every feature >>ever needed, and is thus rather difficult to read and learn. Tony >>Hoare wrote about "The Emperor`s New Clothes" a while back, in which >>he politely explains why less is better. > > I suspect it has more to do with IBM, which pretty actively (in the USA >at least) discouraged people from using it. They invented PL/I as the >language to use (in place of Algol). So people started using PL/I. .... I am afraid that I must disagree with both sides here! A) Algol 68 is not actually a huge language, and compilers for it are usually a fraction of the size of those for most 'competitive' languages. The Algol 68 Revised Report is difficult to read because of the technically advanced/complex nature of the way that it is described, not because there is so much of it. B) I think that people have a tendency to overestimate the influence of IBM over which language people used. I agree that its influence was much greater then than now, but not THAT great. I would like to use Algol 68, because it is the most productive language (3 GL, that is) that I have ever used or even read about. Unfortunately, it did have some very serious failings, and they were what killed it. In my view, the main ones are: 1) It was ahead of its time, and needed compiler technology that was not then standard practice. This applies particularly to the mode coercion code and the library mechanisms; the latter was not designed in detail until about 1978. 2) It was written in an extremely precise but mathematical language, which intimidated most people (both implementors and programmers). Some good reference manuals have been written since, but the harm was done initially. 3) A few areas turned out to be mistakes in the light of experience, such as the plethora of stropping rules and some aspects of the coercions. These were used by its enemies as weapons against it, ignoring the fact that it was breaking new ground. 4) The I/O was little short of a disaster, for more reasons than I am prepared to go into here. On the other hand, the I/O of most languages is pretty dreadful, so it should not be damned too much. A proposal that would have sorted out the worst of the problems came too late to save it. Overall, it was the fact that people REGARDED it as unbelievably complex that killed it, because the few compilers that were produced were rarely brought up to production quality. They could have been, and the world of programming languages would now be totally different .... Nick Maclaren University of Cambridge Computer Laboratory nmm@cl.cam.ac.uk