Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Martin Gregorie Newsgroups: comp.lang.java.programmer Subject: Re: Java blunders Date: Sat, 26 Jul 2014 23:36:07 +0000 (UTC) Organization: A noiseless patient Spider Lines: 33 Message-ID: References: <38c5efcc-315c-4b8d-a478-89e352af7143@googlegroups.com> <3km7t9tvtut8iepes4vo85flh73mbv73ka@4ax.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sat, 26 Jul 2014 23:36:07 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="e5160e2be48f1ea550cf61512446f525"; logging-data="9153"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/6bLm3NQYqgp3iiLVdbyVaL8gdbIOkk8E=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:cesN4Fw8j1ktAtSpeZAbk2OjRf0= Xref: csiph.com comp.lang.java.programmer:29358 On Sat, 26 Jul 2014 09:44:05 -0700, Roedy Green wrote: > On Thu, 24 Jul 2014 10:09:45 -0700 (PDT), taqmcg@gmail.com wrote, quoted > or indirectly quoted someone who said : > >>ntegrate I/O within the language > I remember looking for the I/O in Algol and discovered there was none > defined. I was horrified. How could programs be exchanged? > That was the worst feature of Algol 60 and IIIRC the language definition was criticised for that. The variety I was most familiar with extended the language by adding 'input' and 'print' reserved words but most implementations just added a set of library procedures. In doing this this they were about 10 years ahead of C, though unlike the C standard library, there was little or no commonality between the i/o libraries supported by the various Algol 60 dialects. This was where Algol 68 scored bonus points: it had a standard library defined as part of the language specification. Its usually referred to as the 'standard prelude' rather than as a library. > The advantage of keeping it as a library is you can ignore it and start > over without breaking old code. > True, but portability requires that the library APIs are standardised, at least at the source code level. IOW, you can change the implementation, but not the call interface, error codes or externally visible behaviour. -- martin@ | Martin Gregorie gregorie. | Essex, UK org |