comp.lang.ada
 help / color / mirror / Atom feed
* Language Choice
@ 1997-10-30  0:00 Charles Hixson
  1997-10-30  0:00 ` Jon S Anthony
  1997-11-01  0:00 ` Matthew Heaney
  0 siblings, 2 replies; 3+ messages in thread
From: Charles Hixson @ 1997-10-30  0:00 UTC (permalink / raw)



I am approaching a decision between Ada95 and Eiffel.  Why should I
choose Ada?
--
Charles Hixson charleshixson@earthling.net
(510) 464-7733 or chixso@mtc.dst.ca.us






^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Language Choice
  1997-10-30  0:00 Language Choice Charles Hixson
@ 1997-10-30  0:00 ` Jon S Anthony
  1997-11-01  0:00 ` Matthew Heaney
  1 sibling, 0 replies; 3+ messages in thread
From: Jon S Anthony @ 1997-10-30  0:00 UTC (permalink / raw)



Charles Hixson <charleshixson@earthling.net> writes:

> I am approaching a decision between Ada95 and Eiffel.  Why should I
> choose Ada?

Because from your detailed analysis of both languages you have
determined that for your circumstance and needs, the characteristics
of Ada95 are superior or more approriate for your needs?  Why else???

/Jon

-- 
Jon Anthony
Synquiry Technologies, Ltd., Belmont, MA 02178, 617.484.3383
"Nightmares - Ha!  The way my life's been going lately,
 Who'd notice?"  -- Londo Mollari




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Language Choice
  1997-10-30  0:00 Language Choice Charles Hixson
  1997-10-30  0:00 ` Jon S Anthony
@ 1997-11-01  0:00 ` Matthew Heaney
  1 sibling, 0 replies; 3+ messages in thread
From: Matthew Heaney @ 1997-11-01  0:00 UTC (permalink / raw)



In article <3458BECE.7C69E1B6@earthling.net>, Charles Hixson
<charleshixson@earthling.net> wrote:

>I am approaching a decision between Ada95 and Eiffel.  Why should I
>choose Ada?

As the other posts have indicated, it depends on what you want to do.

Ada has obvious superiority with respect to safety-critical and real-time
programming.  It was designed so that you never need to use heap (a no-no
for safety-critical systems), and concurrency is built into the language
(did Eiffel ever get "separate" going?).  The real-time annex also supports
the Priority Ceiling protocol, which guarantees (I think) that deadlines
get met.  The safety-critical annex can be used to detect uninitialized
variables, or even to annotate the object code generated by the compiler.

Meyer was heavily influenced by Hoare, and so Eiffel has a rich facility
for specifying axiomatic semantics of abstractions; it is also a pure
object-oriented language.  Ada is strongly typed, and allows you to specify
(range or index) constraints for an abstraction.  Ada 95 is also fully
object-oriented, but doesn't force you to program using that paradigm, as
Eiffel does.

Ada was designed specifically for systems programming.  It allows (but
doesn't require) the programmer specify the representation of types and
objects, which is necessary when communicating over an external interface.

Does Eiffel have fixed point types?  Ada has a rich facility for capturing
the semantics of abstractions that have an absolute (not relative) error. 
For example, you can declare a thermometer temperature as

   type Temperature_In_Celcius is delta 0.1 range -40.0 .. 100.0;

which might map (say) to the range of a digital temperature sensor.  The
Ada 95 information systems annex also has support for decimal fixed point
types (having a delta in powers of 10).  If you were writing a payroll
program or some financial software - where monetary mistakes cannot be
tolerated - then again Ada is an obvious choice, superior even to COBOL.

If you're writing a word-processor or something, where little
close-to-the-metal programming is necessary, the argument for Ada is less
compelling.  This doesn't mean you can't do it in Ada, or that it's more
difficult to do in Ada.  It's just that Ada is a language that lets you get
under the hood (for example, you can even implement your own storage
pools), and that language feature isn't required for many applications. 
(Languages as C++ or CLOS go even farther than Ada in letting you get under
the hood, but are inherently unsafe.)

If you were new to the object paradigm, and no systems programming were
required for your application, then Eiffel would be a good choice.  Its
pure approach forces you to program using an object-oriented style, and so
that would hopefully force you to think in terms of objects.  Many Ada
programmers never learn object-think, because Ada doesn't require you to
program that way.

--------------------------------------------------------------------
Matthew Heaney
Software Development Consultant
<mailto:matthew_heaney@acm.org>
(818) 985-1271




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1997-11-01  0:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-30  0:00 Language Choice Charles Hixson
1997-10-30  0:00 ` Jon S Anthony
1997-11-01  0:00 ` Matthew Heaney

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