comp.lang.ada
 help / color / mirror / Atom feed
From: Colin Paul Gloster <Colin_Paul_Gloster@ACM.org>
Subject: Re: point by point advantages of Ada
Date: 29 Dec 2002 18:31:13 GMT
Date: 2002-12-29T18:31:13+00:00	[thread overview]
Message-ID: <1041186672.615164@ns2-ext.dcu.ie> (raw)
In-Reply-To: bebbba07.0212261357.42a817b4@posting.google.com

I sent you an attachment-less email which bounced, so the scans I was
about to email you would not be likely to get through promptly by email
either. Perhaps you could help me to help you by providing some channel
through which I can send these to you.

By email I sent:

"Dear Russ,

I hope you succeed in championing safer software.

Due to poor OCR results today, I will in a moment email you an image taken
by a scanner of a chart which I got off Helen Byard of Ada Language UK
Limited some years ago, and images of a 22 page paper on OOP in Ada and
C++ she had sent me at the same time. She was the administrator of that
organization at the time. Instead, the group is now to be contacted via
Ada UK User Group, c/o Adaxia Limited, PO Box 376, Chesterfield, S42 7YB,
United Kingdom, fax: +44 1246 567339, adauk@Adaxia.com ,
HTTP://WWW.AdaUK.org.UK .

(I am not sending the attachments with the email you are now reading
because I do not want about one megabyte of my outbox taken up by them.)

Parts of the chart are out of date to the extent that C++ is unfairly
criticized. In particular...

Dispatching in C++ does have an expressive advantage over dispatching in
Ada 95.

Modern C++ libraries might have thread-safe exceptions.

ISO C++ does have generics (called templates in the context of C++).

There is an ISO standard for C++ (which does not yet have a full
implementation after several years).

Back to dispatching again, below is an edited reproduction of a post made
by a C++ and Ada tool vendor:

Date: Wed, 20 Nov 2002 12:51:31 -0000

"I'll back this up. I'm just in the middle of defining a "true OO" mapping
from Ada to UML. While Ada does have some useful features such as dynamic
dispatching, its cockeyed notion of sub-program roll-down is awesomely
stupid. Can you imagine a language that decides to roll-down an operation
based on the data-type of any of its parameters? but does so for only one
of
its parameters even though multiple parameters can exist? 

For instance

package a is
-- tagged means that operations defined to 
-- use this type can be overridden
  type t1 is tagged 
    record
      x : integer;
    end record;
  type t2 is tagged 
    record
      y : integer;
    end record;
  procedure p (P1 : t1);
  procedure q (P1 : t2);
  procedure r (P1 : t1; P2 : t2);
  procedure s (P1 : t1; P2 : t1);
end a;

In this example, procedure p and q are both legal, but procedure r is not.
Procedure s is legal. The problem is that you've defined all these
functions
as "virtual" because one of their parameters is "tagged", but you have no
way to tell the compiler which parameter you are supposed to dispatch on.
The compiler gets confused because procedure r has 2 different
dispatchable
parameters and doesn't know which one is significant.  

By comparison, in C++, the implicit "this" parameter exists for all
non-static functions, and it is the type of "this" that is used to decide
dispatching behaviour. Nice, straightforward, and you can't get the
compiler
confused.

Now why was it that anyone wanted to program in Ada?

Cheers,
	[..individual alpha]

-----Original Message-----
From: [..individual beta]
Sent: 20 November 2002 11:30
To: [..that list]
Subject: [some subject..]


> From: Peter Hermann [mailto:ica2ph@csv.ica.Uni-Stuttgart.De]

> Non-member of the ACCU 

(fairly obviously!)

> Peter Hermann

> "Colin,
> it is unbelievable how people waste their time with
> discussions
> of pitiful contents; and waste their time with programming
> languages
> requiring 3 to 5 times more time to get it right instead of
> using Ada.

Oops! What fools we must look :-)

Let's "just" use Ada then!

[..individual beta, who does not work for a vendor involved with Ada]"

May better solutions triumph!
Colin Paul Gloster

From: 18k11tm001@sneakemail.com (Russ)
Newsgroups: comp.lang.ada
Subject: point by point advantages of Ada
Date: 26 Dec 2002 13:57:23 -0800
Message-ID: news:bebbba07.0212261357.42a817b4@posting.google.com

"I am looking for a webpage (or any other source) that explains the
advantages of Ada over C++ and/or Java in a point by point manner. I
have seen pages that explain the advantages of Ada in a broad sense,
and I have even seen some that go into some detail, such as
http://www.informatik.uni-stuttgart.de/ifi/ps/AdaBasis/pal_1195/ada/ajpo/intro/9
, but I have yet to come across a detailed enumeration of the superior
methods of Ada.

For example, I'd like to see something like this:

1. Ada has compilable interface specifications. The advantage of this
is ...

2. Ada does runtime bound checking. ...

3. Ada has real enumeration types, whereas C and C++  ...

4. Ada allows user-defined types, as opposed to typedefs in C/C++,
which are ...

5. Ada has a more integrated environment, with less dependence on
external utilities such as "make". ...

Suggestions will certainly be appreciated.""



  parent reply	other threads:[~2002-12-29 18:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-26 21:57 point by point advantages of Ada Russ
2002-12-27 10:54 ` Ingo Marks
2002-12-27 21:11   ` Keith Thompson
2002-12-27 21:31     ` Robert A Duff
2002-12-29 18:31 ` Colin Paul Gloster [this message]
2002-12-29 20:09   ` James S. Rogers
2003-01-06 23:13     ` David Thompson
2003-01-07  1:35       ` James S. Rogers
2003-01-07 19:34         ` Randy Brukardt
2003-01-07 21:53           ` Warren W. Gay VE3WWG
2003-01-08  0:36             ` Richard Riehle
2003-01-08 17:50               ` Warren W. Gay VE3WWG
2003-01-08 20:31             ` Randy Brukardt
2003-01-13 16:37               ` Mark Biggar
2002-12-29 21:56   ` Hyman Rosen
2002-12-29 22:30     ` John R. Strohm
2002-12-29 23:16       ` Hyman Rosen
2003-01-02 14:24         ` Wes Groleau
2003-01-03  8:20           ` Hyman Rosen
2003-01-03 14:00             ` Wes Groleau
2003-01-08 20:55               ` Georg Bauhaus
2002-12-29 19:20 ` chris.danx
replies disabled

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