From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_40 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 8 Aug 93 21:55:43 GMT From: agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!d arwin.sura.net!seas.gwu.edu!mfeldman@ucbvax.Berkeley.EDU (Michael Feldman) Subject: Re: Ada and C++: A request for comparison/contrast/relative benifits Message-ID: <1993Aug8.215543.5483@seas.gwu.edu> List-Id: In article <26240@alice.att.com> bs@alice.att.com (Bjarne Stroustrup) writes: > > > >mfeldman@seas.gwu.edu (Michael Feldman @ George Washington University) write > > > Let's keep going with facts; flames to /dev/null. > >To achieve this lofty goal I think Ada proponents have to avoid a few things >that occur frequently in comp.lang.ada - even in postings from the more sober >members. The most obvious is: > > Don't demonstrate an advantage of Ada over C and from that conclude > that Ada is therefore superior to C++. I quite agree. I hope, Bjarne, that you did not think either Harry's post or mine was confusing C with C++. In any case, I'm not fond of comparisons that conclude global superiority or inferiority. Some macho types argue that the mere length or diameter of a certain body part makes one guy "superior" to the other. This is obviously only one dimension of their existence. I think these "mine is BIGGER and BETTER than yours" religious wars waste a huge amount of time and lead to no useful conclusions. Better to assess things according to a number of dimensions, then let people make an optimal decision for their own needs. Choosing a language is an optimization problem. No perfect solution exists; perfection is not a human trait, and we ought to stop pretending about this. Therefore, there can be only _optimal_ solutions (i.e. the best of an imperfect bunch of choices), and even these depend on what your optmization constraints are. One of Harry's dimensions was expressive power. He drew a line like C Ada C++ |----|-------------------------------------| and I argued that generic templates, exceptions, and parallelism _in the language_ compensate reasonably well for lack of inheritance, so that the line could better be drawn C Ada C++ |--------------------------------------|---| and that Ada9X may push Ada beyond C++. Whether it does or not is really a matter of opinion, depending on how important one think MI really is. Rosen argues, in an admittedly Ada-biased paper, that for many projects, composition is a quite viable OO implementation, instead of hierarchy, especially for long-life-cycle projects such as many for which Ada is intended. I'm purposely avoiding the loaded terms OOP and OOL, which carry too much baggage. Looking at the merits of different design approaches, one certainly finds Rosen's worth thinking about. (CACM 11/92) In the comparison panel at ASEET 93, Jerry Sussman - recruited as the C++ spokesperson - drew essentially my line above, and argued that Ada (especially Ada9X) and C++ have more in common than they have difference. The Ada vs. C++ battles ar really at the margin, in his opinion and mine. I happen to prefer Ada, mostly on grounds of personal preference of the syntactic line. I like it better as a first language, because C++, unfortunately, contains C within it and therefore all the seeds of beginners' problems with the inner C syntax/semantics. But I claim no monopoly on truth and wish others would be a bit more humble too. > Mike Feldman