comp.lang.ada
 help / color / mirror / Atom feed
From: Richard D Riehle <laoXhai@ix.netcom.com>
Subject: Re: Ada
Date: 2000/01/04
Date: 2000-01-04T18:50:00+00:00	[thread overview]
Message-ID: <84tfco$ko$1@nntp5.atl.mindspring.net> (raw)
In-Reply-To: t77lhpuc8o.fsf@calumny.jyacc.com

In article <t77lhpuc8o.fsf@calumny.jyacc.com>,
	Hyman Rosen <hymie@prolifics.com> wrote:

>Richard D Riehle <laoXhai@ix.netcom.com> writes:
>
>You have not read the literature correctly, or you have not read the
>correct literature :-) C++ templates can be (according to the standard,
>but not yet in reality) separately compiled, 

I guess it is not just my reading of the compiler publishers manuals
that prevent me from doing the same thing I can do in Ada.  Also, I
am not sure that, once this is implemented in C++, it will correspond
to the same level of error checking possible in Ada generics.  One
of the essential points in Ada is that error checking is not just a
function of type-safety.   Often overlooked is the extensive set of
rules on Scope and Visibility in Chapted 8 of the ALRM.  C++ does not
seem to be quite as comprehensive on this point.

Meanwhile, my C++ programs must correspond to what the compiler 
publishers allow rather than the theoretical permissions of the
standard.  

>> Ada has more formats for generic formal parameters.  This has its
>> advantages and may sometimes have disadvantages.  The designer needs
>> to learn more idioms of the language.  Once having learned those idioms,
>> more options for template design are available.
>
>C++ has essentially *no* format for its generic formals, which are
>types, templates, or constants. I think that allows C++ to achieve
>the same things with its templates that Ada can.

As mentioned in my earlier post, I agree that when using the word "can"
nearly every language _can_ accomplish whatever any other language _can_.
The issue, when comparing languages, should never be whether something
_can_ be expressed in this or that language.  Rather, the issue is how
easily that something can be expressed.  It is the difference between
expressibility (can express) and expressiveness (designed to express).  

A caution is in order.  An earlier critique of Ada in this forum 
suggested that Ada is not as _intuitive_ as C++.  The author of that
criticism confused the notion of _intuitive_ with the notion of
_superficial_.  Expressive does not necessarily mean _intuitive_. 
Also, I do not mean to imply that you, Hyman, are superficial.  It
is clear that you think carefully and deeply about these issues.
There are many programming constructs for which COBOL is more
expressive, others for which Smalltalk is more expressive, and some
for which Ada is not as expressive as C++ or Eiffel.  We simply have
not yet achieved perfection in the design of programming languages.
However, as you noted in you post, Ada does have some advantages of
expressiveness, as does C++.  I continue to prefer the Ada approach,
even though I am currently spending more time coding C++ than I would
want. 

>I hold that a C++ class is more-or-less equivalent to an Ada package,
>so a generic formal package in Ada would simply correspond to a generic
>formal class in C++.

I will agree with this.  I suspect that, if templates had been designed
into C++ from the beginning, they might be a little better than they
are.  I find the Ada generic slightly more expressive, for my taste,
than the C++ template.  Fortunately, not all of us on this planet are
identical so there is room for more than one viewpoint on this subject.

Richard Riehle
 




  reply	other threads:[~2000-01-04  0:00 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-23  0:00 Ada Brijesh
1999-12-23  0:00 ` Ada reason67
1999-12-23  0:00   ` Ada Robert Dewar
2000-01-03  0:00     ` Ada Terry Sikes
2000-01-03  0:00       ` Ada Hyman Rosen
2000-01-04  0:00         ` Ada Robert Dewar
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00           ` Ada Robert A Duff
2000-01-04  0:00             ` Ada Hyman Rosen
2000-01-04  0:00         ` Ada Florian Weimer
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00           ` Ada Brian Rogoff
2000-01-04  0:00         ` Ada Terry Sikes
2000-01-05  0:00           ` Operators -> unit analysis Charles Hixson
2000-01-05  0:00             ` Hyman Rosen
2000-01-05  0:00               ` Matthew Heaney
2000-01-05  0:00             ` Matthew Heaney
2000-01-05  0:00               ` Charles Hixson
2000-01-05  0:00             ` Pat Rogers
2000-01-05  0:00               ` Charles Hixson
2000-01-05  0:00             ` Ted Dennison
2000-01-06  0:00               ` Charles Hixson
2000-01-06  0:00               ` Samuel T. Harris
2000-01-07  0:00                 ` Robert Dewar
2000-01-07  0:00                   ` Robert A Duff
2000-01-07  0:00                     ` Matthew Heaney
2000-01-08  0:00                       ` Robert Dewar
2000-01-08  0:00                         ` Robert A Duff
2000-01-10  0:00                       ` Operator precedence--was " Howard W. LUDWIG
2000-01-14  0:00                         ` Mark A Biggar
2000-01-07  0:00                   ` Ted Dennison
2000-01-07  0:00                     ` Brian Rogoff
2000-01-06  0:00             ` Robert Dewar
2000-01-06  0:00               ` Terry Sikes
2000-01-06  0:00                 ` Robert A Duff
2000-01-07  0:00                   ` Terry Sikes
2000-01-07  0:00                     ` Brian Rogoff
2000-01-07  0:00                 ` Ted Dennison
2000-01-07  0:00                   ` Tucker Taft
2000-01-08  0:00                     ` Robert Dewar
2000-01-10  0:00                       ` Tucker Taft
2000-01-10  0:00                         ` Florian Weimer
2000-01-04  0:00         ` Ada Richard D Riehle
2000-01-04  0:00           ` Ada Hyman Rosen
2000-01-04  0:00             ` Richard D Riehle [this message]
2000-01-04  0:00             ` Ada Robert A Duff
2000-01-04  0:00       ` Ada Robert Dewar
2000-01-04  0:00         ` Ada Terry Sikes
2000-01-05  0:00           ` Ada Robert Dewar
2000-01-05  0:00             ` Ada Terry Sikes
2000-01-06  0:00           ` Ada Al Christians
2000-01-06  0:00             ` Ada Terry Sikes
2000-01-07  0:00             ` Ada Robert Dewar
1999-12-23  0:00 ` Ada Jon Jensen
1999-12-23  0:00 ` Ada Robert Dewar
1999-12-23  0:00   ` Ada tmoran
1999-12-23  0:00 ` Ada Roger Racine
1999-12-28  0:00   ` Ada Marin D. Condic
1999-12-31  0:00     ` Ada Richard D Riehle
2000-01-02  0:00       ` Ada Marin D. Condic
2000-01-02  0:00         ` Ada Robert Dewar
2000-01-02  0:00           ` Ada Marin D. Condic
2000-01-03  0:00             ` Ada Ted Dennison
2000-01-03  0:00             ` Ada Robert Dewar
2000-01-03  0:00               ` Ada Marin D. Condic
2000-01-03  0:00                 ` Ada Roger Racine
2000-01-03  0:00                 ` Ada Larry Kilgallen
2000-01-04  0:00                   ` Ada Charles Hixson
2000-01-13  0:00     ` Ada Magnus Alexandersson
2000-01-13  0:00     ` Ada Magnus Alexandersson
2000-01-14  0:00       ` Ada Tarjei T. Jensen
2000-01-14  0:00         ` Ada Larry Kilgallen
2000-01-14  0:00           ` Ada Marin D. Condic
2000-01-14  0:00             ` Ada Magnus Alexandersson
2000-01-14  0:00               ` Ada Marin D. Condic
1999-12-23  0:00 ` Ada Greg Martin
  -- strict thread matches above, loose matches on Subject: below --
2005-01-26 20:06 Ada mcf501
2005-01-26 20:24 ` Ada Larry Kilgallen
2005-01-26 23:55   ` Ada Stephen Leake
2005-01-26 20:35 ` Ada Frank J. Lhota
2005-01-26 23:57   ` Ada Stephen Leake
2005-01-26 20:57 ` Ada Ludovic Brenta
2005-01-26 23:54 ` Ada Stephen Leake
2005-01-27  0:42 ` Ada Jeffrey Carter
2005-01-27  1:17   ` Ada Larry Kilgallen
2005-01-27  4:43     ` Ada u_int32_t
2005-01-27  8:10       ` Ada Larry Kilgallen
2005-01-27 21:01       ` Ada Björn Lundin
2005-01-27  7:57 ` Ada Frank Piron
2005-01-27 10:53   ` Ada Larry Kilgallen
2005-01-27 11:05     ` Ada Frank Piron
2005-01-27 11:19     ` Ada Adrien Plisson
2005-01-28 10:27     ` Ada Stephen Leake
2005-01-27  9:12 ` Ada Martin Krischik
     [not found] <MPG.12c98531dcc142319896ce@news.uci.kun.nl>
     [not found] ` <83reu2$2soi$1@msunews.cl.msu.edu>
     [not found]   ` <38615cc4.22862595@news.shuswap.net>
     [not found]     ` <84dnsu$g69@nnrp1.farm.idt.net>
     [not found]       ` <84drm7$ss8$1@news.rchland.ibm.com>
     [not found]         ` <855lqp$t2@nnrp4.farm.idt.net>
     [not found]           ` <ey3vh54ybxh.fsf@cley.com>
     [not found]             ` <85l4kt$e9q@nnrp1.farm.idt.net>
     [not found]               ` <y4wvpdknsm.fsf@mailhost.neuroinformatik.ruhr-uni-bochum.de>
2000-01-14  0:00                 ` Ada Andy Glew
2000-01-14  0:00                   ` Ada Chris Morgan
2000-01-14  0:00                   ` Ada Marin D. Condic
2000-01-15  0:00                     ` Ada Andy Glew
2000-01-15  0:00                       ` Ada Chris Morgan
2000-01-15  0:00                       ` Ada Marin D. Condic
1997-10-28  0:00 Ada N6101233
1997-08-23  0:00 Ada Jeffrey D. Iverson
1996-08-05  0:00 ada BCummi6553
1996-06-14  0:00 ADA Robert Adams
1990-03-12  2:14 A Poor Man's Ada Library Ted Holden
1990-03-12  5:08 ` Ada William Thomas Wolfe, 2847 
1990-03-15 20:32   ` Ada William B. Tyler
1990-03-16 14:08     ` Ada Dennis M. O'Connor
1990-03-08 18:46 ADA jj
1989-11-19  3:33 A farewell to Ada Ted Holden
1989-11-19 17:59 ` Ada William Thomas Wolfe, 2847 
1989-11-14 21:24 A farewell to Ada Ted Holden
1989-11-15 16:06 ` Ada William Thomas Wolfe, 2847 
1989-11-16 19:08   ` Ada Walter Rowe
1989-11-16 21:33     ` Ada William Thomas Wolfe, 2847 
1989-11-17 18:53       ` Ada Pablo Fernicola
1989-11-18 18:55         ` Ada William Thomas Wolfe, 2847 
1989-11-21  5:24           ` Ada Andrew Koenig
1989-11-22  9:54             ` Ada Mats Luthman
1989-11-22 18:44             ` Ada William Thomas Wolfe, 2847 
1989-11-23  9:44               ` Ada Mats Luthman
1989-11-23  7:12             ` Ada Markku Sakkinen
1989-11-18  6:38       ` Ada Marco S Hyman
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox