Ada vs Eiffel - Eiffel programmer approach

Ada vs Eiffel - Eiffel programmer approach

Post by Tomek Waus » Mon, 25 May 2009 17:39:17


Hi group,

I do not want to start another flame war which language is better. I
think that Ada and Eiffel target same field and I want to ask you,
Eiffel programmers, about:
- what, in your opinion, is better in Eiffel, in contrast to Ada?
- what, in your opinion, is worse in Eiffel, in contrast to Ada?

Please, share your thoughts if you have an experience in both
languages.
 
 
 

Ada vs Eiffel - Eiffel programmer approach

Post by Helmu » Wed, 10 Jun 2009 04:14:25


There are probably no Ada users on this list. I know only little about
Ada, but Eiffel very well. So I am biased versus Eiffel.

When you talk about a language you usually have more in mind than the
pure language. The things which are usually evaluated are

- the pure language

- the standard libraries

- the standardization status

From a language point of view Eiffel is object oriented and Ada not.
Therefore they are difficult to compare. If you try to compare you
usually end up comparing the programming paradigmas. However there are
some points apart from the programming paradigma which seem to be
different.

- Ada has a built in concurrency model (like java) and Eiffel does
not. In Eiffel there is SCOOP (simple concurrent object oriented
programming) which tries to integrate concurrency into the language.
But there is not yet any Eiffel compiler available which implementes
SCOOP. Let's see when the first SCOOP capable compiler pops up.

- Eiffel has "Design by Contract" which is a very powerful mechanism
to get your SW right. Using assertions in your code appropriately, you
are able to catch a bug much closer to it's origin than without DbC.
DbC opens up the road for a verifying compiler (i.e. a compiler which
can at compile time verify if contracts are not broken). But that is
future since there is not yet any verifying Eiffel compiler available.

- When it compes to standardization, Ada clearly wins. Ada has been
standardized for a long time. Eiffel started its standardization
process around 2002 and published it's first standard in june 2006.
However the standard still has some bugs. A revised standard is
expected.

- The same applies to libraries. Ada (like C and C++) has a lot of
standard libraries. Eiffel compilers usually come with a rich set of
libraries. But they are not standardized. Therefore different Eiffel
compilers (there are not that many) come up with different libraries.

Even if that sounds like a case for Ada, I still am in favour for
Eiffel. I like its clean object orientation and its potential to
become a verifiable language with concurrency.

I don't understand why the promotors of Eiffel haven't made the
language more complete in terms of standardization, standard libraries
and concurrency. I am convinced that the potential of Eiffel have not
yet been exploited.

Helmut

 
 
 

Ada vs Eiffel - Eiffel programmer approach

Post by Pascal Obr » Wed, 10 Jun 2009 05:52:30

Helmut a rit :

Well Ada is object oriented since the beginning and has programing by
extension and dynamic dispatching since 1995. The 2005 flavor of Ada
supports protected/tasking interface that can be inherited.


Agreed. Ada even supports a Ravenscar profile (where no dead-lock can
occurs) usable for high-critical systems.


Agreed. Ada does not have this at the moment. There is talk about
standardizing this though (pre/post conditions and type/package invariants).

I'm an Ada fan who like very much Eiffel.

Pascal.

--

--|------------------------------------------------------
--| Pascal Obry Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--| http://www.yqcomputer.com/ - http://www.yqcomputer.com/
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B