comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.tsoh.plus-bug.bauhaus@maps.futureapps.de>
Subject: Re: Ada 12 times more popular than Eiffel
Date: Thu, 04 Jun 2009 22:14:52 +0200
Date: 2009-06-04T22:14:52+02:00	[thread overview]
Message-ID: <4a282b3c$0$31872$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <4A2806A9.3050600@obry.net>

Pascal Obry wrote:
> Hibou57 (Yannick Duch�ne) a �crit :
>> Are you talking about Bertrand Meyer ?
> 
> Yes.
> 
>>> Except from the Eiffel inventor, sad but true!
>> What do you mean ?
>>
>> How could he be inspired from a language he hated ?
> 
> Not sure he has said that Eiffel was inspired from Ada, maybe on the
> early days... IIRC, in his book Object-Oriented Software Construction
> there is very few (if any) references to Ada.

The second edition is more eloquently discussing Ada 95.
Ada 83 is characterized "sophisticated", Ada 95 is blamed
for being overly complex, with examples, including LRM
nomenclature.  Similar comments can be found in
the SPARK book, BTW.  OOSC2 is the only reference I could find
to Jean Ichbiah's resignation letter, sent to the Ada 9X
reviewing group "after trying in vain for several years
to keep the extensions simple". (p.1095)

Meyer quotes from Ichbiah's letter:

 "A massive increase in complexity will result from 9X
adding one or more additional possibilites where Ada now
offers two. For example, 9X adds: [...]  access parameters
to in, out, and in out; tagged types, to normal types;
dispatched subprogram calls, to normal subprogram calls;
use type clause, to use package clause; [Other examples
skipped; overall 12 were included.] With 9X, the number
of interactions to consider is close to 60,000 since we
have 3 more possiblitities in each case (that is, 3**10)."

By contrast, there were comments explaining that Taft's
Ada 95 is more of a compiler writer's language than
Ichbiah's Ada 83.

The number of occurrences of the word "simple" in
OOSC2 is suspiciously high.  Most of them refer to
concepts embedded in Eiffel being simple.  I find this
a bit suspicious because complex problems cannot become
simple problems just because language concepts are
simple.  We would be writing assembly language, then.

For example, Ada has both variant records and variant
tagged records, both explicit discriminants and implicit
discriminants.  A tag can be seen as an implicit
discriminant.  The tag as a discriminant seems to be
an obvious choice when you implement OO starting from
Ada 83, doesn't it?  The tag discrimminates types.
But then, we still have discriminated records. Why?

This question is answered negatively in Meyer's OOSC2.
Use different types (or program logic) but not also
variant records.   Stroustrup says, we should see
wheter a minor distinction warrants different types.
And there still are reasons for tagless small records,
as Randy Brukardt has explained a few days ago.
So what is the right choice in language design?
Meyer favors simplicity---presuming, I guess, that,
without exception, managing polymorphic types,
relying on garbage collection, substituting many types
for richer language rules is better than using variant
records, their rules, case distinction, and struggling
compilers.

The latest issue with GNAT's discriminant handling,
reported here today by Alex Mosteo (base type is
interface, derived type has a discriminant) is yet
another case of GNAT crashing into the discriminating
knife.  Does this prove that Meyer has a point?



  parent reply	other threads:[~2009-06-04 20:14 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-04  8:01 Ada 12 times more popular than Eiffel Ludovic Brenta
2009-06-04  8:23 ` Dmitry A. Kazakov
2009-06-04 22:41   ` lanceboyle
2009-06-04 11:55 ` Hibou57 (Yannick Duchêne)
2009-06-04 13:45   ` Martin
2009-06-04 17:05   ` Pascal Obry
2009-06-04 17:22     ` Hibou57 (Yannick Duchêne)
2009-06-04 17:38       ` Pascal Obry
2009-06-04 18:53         ` Olivier Scalbert
2009-06-04 19:56           ` Pascal Obry
2009-06-04 19:05         ` Adam Beneschan
2009-06-04 20:14         ` Georg Bauhaus [this message]
2009-06-05 13:17         ` Jean-Pierre Rosen
2009-06-04 20:53 ` nobody
replies disabled

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