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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,103b407e8b68350b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-01-20 21:44:44 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!newsfeed.mathworks.com!cyclone.swbell.net!newsfeed1.easynews.com!easynews.com!easynews!newsfeed1.earthlink.net!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!stamper.news.atl.earthlink.net!harp.news.atl.earthlink.net!not-for-mail From: Richard Riehle Newsgroups: comp.lang.ada Subject: Re: Anybody in US using ADA ? One silly idea.. Date: Mon, 20 Jan 2003 21:53:47 -0800 Organization: AdaWorks Software Engineering Message-ID: <3E2CE06A.97842B26@adaworks.com> References: <1041908422.928308@master.nyc.kbcfp.com> <1041997309.165001@master.nyc.kbcfp.com> <1042086217.253468@master.nyc.kbcfp.com> <1042477504.547640@master.nyc.kbcfp.com> <1042651417.215661@master.nyc.kbcfp.com> <3E2780AB.23BDD226@adaworks.com> Reply-To: richard@adaworks.com NNTP-Posting-Host: 41.b2.68.bd Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Server-Date: 21 Jan 2003 05:44:53 GMT X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en Xref: archiver1.google.com comp.lang.ada:33273 Date: 2003-01-21T05:44:53+00:00 List-Id: "Dmitry A. Kazakov" wrote: > BTW, did you compare > > generic > with package Operators is new Generic_Operators <>; > package Generic_Statistics is ... > > with a child package variant: > > generic > package Generic_Operators.Generic_Statistics is ... > > It would be interesting to do it in depth. I'm sure it would be interesting. However, it changes nothing with regard to the valuable contribution of generics as one approach to software reuse. Bertrand Meyer's observations, in his early paper about genericity versus inheritance have always made sense to me. The two approaches have their own unique benefits. Sometimes a design is best as a generic component. Other times, inheritance is that proper choice. In these times, inheritance and genericity are no longer the only choices. True delegation, as represented by the Ada keyword, requeue, is another excellent choice. Child library units open the door to Aspect_Oriented Programming in Ada. Also, Child Library Units make it easier to decompose a set of methods into specifications that more closely correspond to high-cohesion. The object model is just beginning to open itself to a broader range of collaboration options. Newer language designs, that is newer than C++, Ada, Java, or C#, are being developed to more easily accomodate this broader range of options. At present, Ada is pretty good, but it will eventually become as obsolete as I believe C++ already is. Even though something is obsolete, people will continue to use it. This will be true of Jovial, Ada, C++, and even PL/I. Yet, the new range of options demonstrated by the new language designs will slowly find their way into day-to-day practice. Some of the features of these languages will come from C++, some from Ada, and some from other languages. Perhaps, someone will adopt the EVALUATE statement from COBOL in one of these new language designs. The COBOL EVLUATE statement is one of the most powerful and linguistically consistent statements ever designed for any programming language, yet only COBOL has it. Even so, COBOL falls far far short of being the ideal programming language. I don't expect to see the perfect programming language in my lifetime. The tone has been set for designing such a language, but few have accomplished it so far. Also, as long as those who have learned one language take a xenophobic attitude toward any other language that comes on the scene, we will likely make very little progress. So, at present, those of us who do write computer programs can benefit from knowing more than one language and being able to use each of them for the job where they seem appropriate. The DoD tried, and failed, to introduce a single-language policy into their software projects. Very likely other such attempts, by anyone, will also fail. Even IBM, when it still owned the computer industry, could not force everyone to adopt PL/I. Richard Riehle