Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!bellcore-2!bellcore!pyuxp!towernet!taichi!haim From: haim@taichi.uucp (24122-Haim Kilov(3786)m000) Newsgroups: comp.lang.misc Subject: Re: Algol Message-ID: <109@towernet.UUCP> Date: 27 Aug 90 02:57:07 GMT References: <1990Jul21.004616.649@Stardent.COM> <388@e2big.mko.dec.com> <25630@cs.yale.edu> <2404@l.cc.purdue.edu> <91@towernet.UUCP> <1990Aug15.154636.21982@maths.nott.ac.uk> Sender: netnews@towernet.UUCP Reply-To: haim@taichi.UUCP (24122-Haim Kilov) Organization: Bellcore, Livingston, NJ Lines: 41 About Algol 68: However, Algol 68 has excellent I/O specifications. The model, that a file is a "book" with pages, lines and characters which can be read from or written to, encompasses most if not all real file systems (cards, paper tape, disc, mag tape, etc). The "channel" capabilities include, for example, filtering possibilities to convert between ASCII and EBCDIC, error handling, and the like. Formats are not the only, nor even the most usual, way of using this model. Algol predates Unix, so it adapts (successfully, in my opinion) to the world outside, rather than using the much simpler Unix model, which then requires everything to look like a Unix file. Algol also has at least part of "overflows, etc.". Firstly, *some* errors [eg, reading a non-digit when inputting a number] can be trapped. Essentially, this applies to any "software" error. Secondly, the effects of "hardware" errors, such as overflow, are undefined -- indeed, computers are so varied that any defined action would be impossible to implement efficiently in general -- but there is no reason why a sympathetic environment might not hand control to a user-defined routine. Thirdly, you can always roll your own. For example, something like Yes, I agree with the above (posted by Dr A. N. Walker). My more general point was to _praise_ rather than to criticize Algol 68. More particularly, however, I feel that Algol 68 contribution is underestimated irrepsectively of whether it does or does not have formats or files. The reasons of this were many, one of which (wrong) -- the difficulty of the revised report. And yes, formats are usually the first candidates for subsetting. Files (books) are the next. Who recalls Algol 68 now when "everybody" talks about abstract data types and other good programming practices? Algol 68 does not encapsulate "properly" because, e.g., you see the implementation and can access your type in an unanticipated manner (so it is not too "abstract"), - but, still, with a minimal amount of discipline programming becomes so much easier. It's a pity the language is (sort of) dead... -Haim Kilov haim@bcr.cc.bellcore.com