From: Georg Bauhaus <rm.tsoh.plus-bug.bauhaus@maps.futureapps.de>
Subject: Re: Ada vs Eiffel - Ada programmer approach
Date: Sun, 24 May 2009 14:17:51 +0200
Date: 2009-05-24T14:17:51+02:00 [thread overview]
Message-ID: <4a193aef$0$31865$9b4e6d93@newsspool3.arcor-online.net> (raw)
In-Reply-To: <405b5054-4c8f-4e16-9ea8-503a9b9f976e@t21g2000yqi.googlegroups.com>
Tomek Walkuski wrote:
> Hi group,
>
> I do not want to start another flame war which language is better. I
> think that Ada and Eiffel target same field
Ah, really? :-)
- Eiffel has garbage collection by default. Good for programs
that can afford it.
- Eiffel offers a little less to support systems/hardware
programming directly
(for example, the base type system is frozen, which means
that you cannot have basic types of the range 0 .. 100 kind,
the advice being to use DbC assertions instead. For bit
operations we can use features from class NATURAL_32 ...
There is class POINTER/POINTER_REF; it may be necessary
to use "extern", i.e. C, for hardware address things...
Not sure about the latter, though. Ada's loop is more
flexible, which I guess matters when a program is to run
in 64kB or less, or when I want tight control over inner
loops).
- Eiffel has, or used to have, a "standardized" separate cluster
language for namespace things and also configuration.
(Currently being, uh, reworked?) I like the configuration part
because it removes vendor specific language without impeding
vendors I should think.
You can't see the "namespaces" in the source proper. Good or bad?
Advice is: Use EiffelStudio.
- Eiffel's cuncurrency features are basically experimental.
(Side note: the Redomond amoeba has recently embraced the
word "task".) While Eiffel's "separate" and SCOOP are
defined, class THREAD is mentioned a lot ...
The SmartEiffel language is said not to be thread safe at
this time.
- Ada's separate specification is only possible using deferred
classes in Eiffel. You can then use the cluster language to
rename this or that class as a "body" class, implementing
any deferred feature. Using deferred this way seems like a
misuse to me.
- Eiffel has full multiple inheritance. Not sure this is
a big deal, in practice, compared to mix-in generics, but it
is being used to add characteristics such as HASHABLE or
INDEXABLE. Seems somewhat less "flexible" than Ada generic
actuals that can be supplied from just about anywhere,
including from local scopes. (Not sure there are no Eiffel
tricks here, using [anonymous] agents, though.)
- Eiffel's Design by Contract is only beginning to be present
in Ada. (Not mentioning SPARK.) Still praying...
- Eiffel is flat (anonymous agents being an exception of sorts...),
Ada allows nesting, including local types.
I really missed the explicit packaging structure of Ada when
writing the same (sequential) program in both Eiffel and Ada.
next prev parent reply other threads:[~2009-05-24 12:17 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-24 8:39 Ada vs Eiffel - Ada programmer approach Tomek Walkuski
2009-05-24 11:49 ` anon
2009-05-24 12:26 ` Georg Bauhaus
2009-05-24 12:17 ` Georg Bauhaus [this message]
2009-05-24 16:31 ` Pascal Obry
2009-05-25 16:32 ` Rugxulo
2009-05-26 13:37 ` Ludovic Brenta
2009-05-26 14:51 ` Dmitry A. Kazakov
2009-05-26 17:26 ` Georg Bauhaus
2009-05-26 17:39 ` Dmitry A. Kazakov
2009-05-26 17:59 ` Georg Bauhaus
2009-05-26 19:52 ` Dmitry A. Kazakov
2009-05-26 20:14 ` Pascal Obry
2009-05-26 20:25 ` Pascal Obry
2009-05-26 21:28 ` Dmitry A. Kazakov
2009-05-26 18:23 ` Jeffrey R. Carter
2009-05-26 15:07 ` Tim Rowe
2009-05-26 16:37 ` Georg Bauhaus
2009-05-28 8:37 ` Nicholas Paul Collin Gloucester
2009-06-01 16:22 ` Tim Rowe
2009-06-04 7:35 ` Hibou57 (Yannick Duchêne)
2009-06-04 9:46 ` Martin
2009-06-04 12:16 ` Hibou57 (Yannick Duchêne)
2009-06-04 9:56 ` Jean-Pierre Rosen
2009-06-16 6:58 ` ardjussi
2009-06-16 17:22 ` Jeffrey R. Carter
2009-05-26 18:21 ` Jeffrey R. Carter
2009-05-26 18:35 ` Dmitry A. Kazakov
2009-06-04 7:39 ` Hibou57 (Yannick Duchêne)
2009-06-04 9:02 ` Ludovic Brenta
2009-06-04 9:19 ` Dmitry A. Kazakov
2009-06-04 12:14 ` Hibou57 (Yannick Duchêne)
2009-06-04 14:14 ` Dmitry A. Kazakov
2009-06-04 16:45 ` Jeffrey R. Carter
2009-06-04 7:30 ` Hibou57 (Yannick Duchêne)
2009-06-04 7:55 ` Ludovic Brenta
2009-06-04 8:45 ` Georg Bauhaus
2009-06-04 9:03 ` Ludovic Brenta
2009-06-04 13:25 ` Robert A Duff
2009-06-04 13:39 ` Martin
2009-06-04 13:08 ` stefan-lucks
2009-06-08 12:41 ` Samuel Tardieu
2009-06-08 19:37 ` Robert A Duff
2009-06-08 22:52 ` Randy Brukardt
2009-06-09 7:39 ` Dmitry A. Kazakov
2009-06-10 6:55 ` Hibou57 (Yannick Duchêne)
2009-06-10 6:58 ` Hibou57 (Yannick Duchêne)
2009-06-10 11:10 ` Georg Bauhaus
2009-06-04 7:04 ` Hibou57 (Yannick Duchêne)
2009-06-04 6:04 ` Hibou57 (Yannick Duchêne)
2009-06-06 14:27 ` Marco
2009-06-06 15:37 ` Tomek Wałkuski
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox