From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,38fc011071df5a27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-27 16:31:32 PST Path: news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!elnk-nf2-pas!newsfeed.earthlink.net!wn14feed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi_feed4!attbi.com!rwcrnsc52.ops.asp.att.net.POSTED!not-for-mail Message-ID: <3F761DC6.3050801@comcast.net> From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: How to get a =?ISO-8859-1?Q?=BBConventional_Ada_Library=AB?= =?ISO-8859-1?Q?_=28Was=3A_Ideas_for_Ada_200X=29?= References: <6a90b886.0305262344.1d558079@posting.google.com> <3ED4A94C.2020501@noplace.com> <3ED6A852.75AC0133@adaworks.com> <3ED74ED3.4020505@noplace.com> <3ED7C8C5.3070902@cogeco.ca> <3ED826BB.9010509@noplace.com> <3F61BA28.3060507@crs4.it> <3F6205B8.3070402@attbi.com> <3F6316DC.7080106@noplace.com> <3F743AE7.5050305@noplace.com> <3F74E2A6.6020907@comcast.net> <3F75A5E3.6040505@noplace.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 24.34.139.183 X-Complaints-To: abuse@comcast.net X-Trace: rwcrnsc52.ops.asp.att.net 1064705491 24.34.139.183 (Sat, 27 Sep 2003 23:31:31 GMT) NNTP-Posting-Date: Sat, 27 Sep 2003 23:31:31 GMT Organization: Comcast Online Date: Sat, 27 Sep 2003 23:31:31 GMT Xref: news1.google.com comp.lang.ada:51 Date: 2003-09-27T23:31:31+00:00 List-Id: Marin David Condic wrote: > All it really needed was a standard package specification so that people > weren't writing things dependent on different vendor's interpretations > of what was the best name to call the package or its routines & > parameters. Perhaps the libraries were terrible. But people were going > to hook up to them and use them anyway - terrible or not. In fact, they > did. There just weren't any two implementations that had the same > package name and function names. Perhaps Ada was standing around saying > "But because I can't *precisely* specify some behavior because of the > crappy libraries out there, I'm not going to specify anything at all..." > This was incredibly useless to the average developer. I'd have been real > happy with a standard package spec, standard function names and standard > parameter lists and a definition of "Implementation Defined - including > monkeys flying out of your anus when you call these routines" At least > the calls would have been source-code portable and it would have been up > to me to figure out if a given implementations natural log function did > me any good. But the NumWG work did result in an ISO standard, well before Ada 95 came along. It probably would have been nice to have the ACVC require the vendors provide exactly that package but that didn't happen. However, the packages, including Complex and Simple packages were printed as an issue of Ada Letters, including all the specs, and a place to get a portable generic implementation. As I said, it would have been nice if it had happened faster, but it didn't. Those four packages were effectively folded into the numerics annex of Ada 95. It would have been nice if the work had finished sooner. But that was not the big issue. The big issue, which Ada 95 implements a nice compromise on, was whether Ada should specify the accuracy of floating-point arithmetic. At the time Ada 83 was being finalized, the IEEE floating point specifications were still not ready. And as a result there were machines where the floating-point hardware was very good, such as the VAX, and some where it was awful. (The IBM 360/370 family in particular.) If we had tried to add the math libraries into the base standard in 1981/82, the best that IBM hardware could have done was probably digits 1 for single precision and digits 4 for double precision. (Yes, the IBM floating point model, combined with the known algorithms for the trancendental functions, was that bad. And there were C, Fortran, and BASIC implementations which did that badly, not on difficult operations like X**Y, but on sine and tangent.) Do you think IBM would have gone along with that? I don't, and I was there. Also there was a desire to make it possible to compile an Ada program on a machine with 256k of main memory. Back then that wasn't an L2 cache on your laptop computer. There weren't any laptop computers, and many mainframes in use had 256k of memory or less. (Most VAX 11/780s were shipped with 128k of memory, although customers usually upgraded that pretty quickly. In fact EMC got its start selling memory upgrades for VAXes.) -- Robert I. Eachus "Quality is the Buddha. Quality is scientific reality. Quality is the goal of Art. It remains to work these concepts into a practical, down-to-earth context, and for this there is nothing more practical or down-to-earth than what I have been talking about all along...the repair of an old motorcycle." -- from Zen and the Art of Motorcycle Maintenance by Robert Pirsig