[comp.object] C++ and a waitress called Ada

rick@tetrauk.UUCP (Rick Jones) (06/10/91)

In article <1991Jun6.225355.18611@netcom.COM> jls@netcom.COM (Jim Showalter) writes:
>>> Note that this in no way indicates a change to my bedrock conviction that
>>> Ada is the superior technical choice between the two languages for
>>>engineering large complex systems.
>>> -- 
>
> [ a very well stated rationale of what makes a good programming language ]

Well said Jim!  The concepts behind a language, the culture it embodies, and
what it _helps_ you to do is far more important than what it is possible to do
if you try hard enough - regardless of how many other people are trying equally
hard.

If you want to take the engineering concepts of Ada, together with its syntax
style, and evolve a fully object oriented language based around classes with
multiple inheritance, dynamic binding, genericity, etc, what do you get?

Answer - Eiffel.

OK, it's not been around as long as Ada, but there is a new, complete,
definition of the language soon to be published in book form, and an
independent consortium "NICE" which holds the rights to that definition.
NICE has the responsibility to validate Eiffel compilers, and will soon be
taking steps to set up that process - watch this space.

Eiffel needs some more time to fully mature, but as Jim pointed out, C++ needs
a lot more time than many people seem to imagine;  not just with the language
but with everything which surrounds it.

Perhaps the real choice should be between Ada and Eiffel - and I don't imply
that I believe Eiffel is always preferable.  In many cases Ada will still be
the better choice, but Eiffel offers the same approach within a "pure"
object-oriented context.  C++ is not the only option.

-- 
Rick Jones, Tetra Ltd.  Maidenhead, Berks, UK		rick@tetrauk.uucp
Chairman, NICE (Non-profit International Consortium for Eiffel)

Any fool can provide a solution - the problem is to understand the problem

jls@netcom.COM (Jim Showalter) (06/11/91)

>Perhaps the real choice should be between Ada and Eiffel - and I don't imply
>that I believe Eiffel is always preferable.  In many cases Ada will still be
>the better choice, but Eiffel offers the same approach within a "pure"
>object-oriented context.  C++ is not the only option.

My advocacy of Ada has always been based on my belief that it represents
a superb vehicle for software engineering. Other software engineering
oriented languages have appeared on the scene, and I've started learning
them too--I hope to soon be able to add Eiffel and Modula-3 to my .sig.
The only real problem I have with some of these other languages now is
maturity--it took a long time (about twice as long as expected) for real
compilers and other tools to become available for Ada, and the same can
be expected for these other languages (indeed, without the sort of funding
Ada got from the DoD, progress could be even slower). On the plus side,
there isn't the DoD "taint" to be reckoned with, so commercial acceptance
may be easier. I certainly hope so--these other languages provide a valid
alternative to the headlong dash toward C++.

In the end, the critical thing is not so much that a software development
organization choose Ada instead of Eiffel, or Modula-3 instead of C++.
The truly important thing is that a software development organization choose
ANY of these four languages to help it convert to modern software engineering
practices, rather than sticking with FORTRAN, COBOL, C, etc. Trying to
engineer software with languages invented 20-30 years ago makes about as
much sense as trying to build skyscrapers with a stone axe.
-- 
**************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 ****************
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *