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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c78177ec2e61f4ac X-Google-Attributes: gid103376,public From: "Marin David Condic, 561.796.8997, M/S 731-93" Subject: Re: ada and robots Date: 1997/06/16 Message-ID: <97061610300493@psavax.pwfl.com>#1/1 X-Deja-AN: 248838146 Sender: Ada programming language Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU X-Vms-To: SMTP%"INFO-ADA@VM1.NODAK.EDU" Newsgroups: comp.lang.ada X-Vms-Cc: CONDIC Date: 1997-06-16T00:00:00+00:00 List-Id: >OBAda: I have some (small) sympathy with Joe Gwinn's position that some >combinations of Ada83 compilers may have produced very different >results. Imagine that you used a generic-sharing compiler orginally for a >memory limited system, and then tried to port that code to a similar target >that used expansion instead. Or tasking that mapped tasks to OS processes >vs. run-time scheduling (and you want to do blocking IO in the tasks.) One >of the phrases I remember least fondly when trying to explain why some >particular code was ill suited to a particular embedded >compiler/runtime/target. > "But it runs just fine on our Vax using DEC Ada!" > This may well be true, but I don't know how it could possibly be avoided. Whenever a language specifies a feature beyond a certain complexity, you're going to get a variety of different implementations which have inherent portability limits (especially in real-time where memory and/or time are limited resources.) For example: If Ada and C both specify some basic mathematical capability (C++ vs Integer'Succ(C)) you'd expect both statements to consume nearly the same amount of space/time on virtually any implementation (target hardware remaining the same). But the minute a language gives you something like "accept X do...", you can expect semantic behavior to be consistent, but space/time is going to be entirely dependent on what sort of tasking model underlies the support for the accept statement. I guess you could say that C solves the problem by never giving you anything very complex to use. So if you need the complex features, you've got to "roll your own" and in some cases this is going to be difficult to near impossible. I'd fault a compiler vendor for not selling semantically correct behavior, but I couldn't fault the vendor or the language just because a given feature may have multiple possible implementations, each with their own advantages and drawbacks. MDC Marin David Condic, Senior Computer Engineer ATT: 561.796.8997 Pratt & Whitney GESP, M/S 731-96, P.O.B. 109600 Fax: 561.796.4669 West Palm Beach, FL, 33410-9600 Internet: CONDICMA@PWFL.COM =============================================================================== "You spend a billion here and a billion there. Sooner or later it adds up to real money." -- Everett Dirksen ===============================================================================