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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,971aa11c293c3db1 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-07-18 05:04:46 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!newsfeed.direct.ca!look.ca!newsfeed1.earthlink.net!newsfeed.earthlink.net!newsmaster1.prod.itd.earthlink.net!newsread1.prod.itd.earthlink.net.POSTED!not-for-mail Message-ID: <3B556EDE.18308230@earthlink.net> From: "Marc A. Criley" Organization: Quadrus Corporation X-Mailer: Mozilla 4.73 [en] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ada The Best Language? References: <5be89e2f.0107170838.c71ad61@posting.google.com> <9j298c$hvq$1@newsg3.svr.pol.co.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Wed, 18 Jul 2001 12:04:39 GMT NNTP-Posting-Host: 158.252.122.130 X-Complaints-To: abuse@earthlink.net X-Trace: newsread1.prod.itd.earthlink.net 995457879 158.252.122.130 (Wed, 18 Jul 2001 05:04:39 PDT) NNTP-Posting-Date: Wed, 18 Jul 2001 05:04:39 PDT X-Received-Date: Wed, 18 Jul 2001 05:02:17 PDT (newsmaster1.prod.itd.earthlink.net) Xref: archiver1.google.com comp.lang.ada:10148 Date: 2001-07-18T12:04:39+00:00 List-Id: JP wrote: > > Just for information. I have been told by "agency" guy that some companies > program Ada in way that means performance is not met, i.e. 4 or more layers > for an essentailly driver app. Meanwhile the same company will program in C > and make it fit the performance constraints, i.e. 1-2 layers. Reason - I > assume it the the God of OOD and OSI.. By the way, these are embedded > systems with tight CPU requirements. So it's dictated that when writing Ada, multiple layered abstractions _must_ be utilized. Regardless of that design approach's suitability to the problem domain. And it must therefore be forbidden from meeting the performance requirements. But when using C, one can use a suitable design paradigm and subsequently meet requirements. As a strong advocate of object oriented development, with over 15 years experience with it, I'm allowed to say this: Take your OO zealots out and shoot them. I've run into this mentality before, and there's no arguing with them. Good design first off means using an _appropriate_ design. My OO zealotry horror story: The group I was in at a former employer inherited a system that was written in Ada 83 and it had been dictated that it be fully object-oriented. The conventional definition of "object oriented" defines it as utilizing encapsulation, inheritance, and polymorphism. While Ada 83 supported encapsulation quite well, its support for the other concepts was quite limited, with derived types providing the what little support there was. Still, to be OO, the system _had_ to have inheritance and polymorphism, and by God it did. Through the use of derived types, pointers, type conversions, 'address-es of derived procedures, ad nauseum, this system had all three components of an object oriented system. It took weeks to fully grasp the design concept of the system, many aspects of which were conceptual and had to be understood and respected by the developer, rather than being implemented and enforced by the compiler. It was easy to make mistakes, and very difficult to track down what was happening in this convoluted morass. The only real way out of this mess would've been to rewrite the system. Which we did. And which reduced its SLOC count by a third. Marc A. Criley Senior Staff Engineer Quadrus Corporation www.quadruscorp.com