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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a8985ede8fe3d111 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-14 05:59:32 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!howland.reston.ans.net!noc.near.net!ray.com!news.ray.com!news.ed.ray.com!swlvx2!jgv From: jgv@swl.msd.ray.com (John Volan) Subject: Re: Is Ada the future? [was: Is C++ the future?] Date: Thu, 13 Oct 1994 14:40:31 GMT Message-ID: <1994Oct13.144031.7290@swlvx2.msd.ray.com> References: <1994Oct4.090807@di.epfl.ch> <85C825A689A@annwfn.com> Sender: news@swlvx2.msd.ray.com (NEWS USER) Organization: Raytheon Company, Tewksbury, MA Date: 1994-10-13T14:40:31+00:00 List-Id: merlin@annwfn.com (Fred McCall) writes: >In <1994Oct4.090807@di.epfl.ch> Robb.Nebbe@di.epfl.ch Robb Nebbe writes: >>The case >>wouldn't be that you can't define and enforce an abstraction in >>C++, which would be a bit naive, but that in some cases the effort >>required goes far beyond what is required in Ada. >I disagree. In fact, the circumlocutions shown here recently in order to >get mutual recursion seem to me to show that it is *harder* in Ada, not >easier. Decoupled mutual recursion is only one particular kind of situation that is somewhat harder to do in Ada. It's not impossible, and in fact it doesn't really require drastic circumlocutions to achieve it (see my solution on another thread). But to use this as a broad brush to paint all of Ada as being obstructive to abstraction, is not entirely fair. The reason decoupled mutual recursion is *somewhat* harder in Ada has to do with broader decisions that pervade the design of the language, relating to modularity, encapsulation, separate compilation, scope, visibility, and so forth. IMHAARO (In My Humble And Admittedly Religious Opinion :-), those design decisions lead to a "cleaner" treatment of abstraction in most other areas, which is desirable even if it comes at the expense of some difficulty in this one area. But I'll let other folks fight that language war ... :-) >If you detect some annoyance on my part, you're right. Some (note that >that's 'some', not 'all') of the Ada proponents in this group leave me >feel like I'm talking to converted Amigoids. It appears to be the same >sort of viewpoint. Ada is *not* the Number 1 language on the planet in >popularity and you're not going to change that by obnoxiously bashing >the languages that are. If you expect to convert people by telling them >that they're stupid rather than by pointing out *REAL* advantages of the >language, then Ada9X isn't going to do any better than Ada83 has (and >you'd better pray that the Mandate is continued). Well, would it help if some of us "Ada Amigoids" did the following: (1) Honestly raise a technical issue wherever Ada appears to be weak. (2) Face that issue squarely and with dogged persistence, refusing to be satisfied by "solutions" that merely avoid the problem or trivialize it, rather than actually solving it. (3) Be just as persistent in being dissatisfied with schemes that replace the original problem with even worse problems, or workarounds that require horrendous circumlocutions. (4) Be even more persistent in rejecting "solutions" that require changing the language itself in ways that do violence to its underlying design principles. (5) And in the end, show how Ada can, in fact, overcome the problem cleanly and elegantly, by virtue of other strengths that it already has at its disposal. Would that, perhaps, convert a few more zealots from other denominations? :-) -- John Volan -------------------------------------------------------------------------------- -- Me : Person := (Name => "John Volan", -- Company => "Raytheon Missile Systems Division", -- E_Mail_Address => "jgv@swl.msd.ray.com", -- Affiliation => "Enthusiastic member of Team Ada!", -- Humorous_Disclaimer => "These opinions are undefined " & -- "by my employer and therefore " & -- "any use of them would be " & -- "totally erroneous."); --------------------------------------------------------------------------------