View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - Kevin Adkisson

de Vivo, G. O. and de Vivo, M. 1995. A pragmatic approach to C++, Eiffel and Ada 9X programming. SIGPLAN Not. 30, 9 (Sep. 1995), 9-16. DOI= http://doi.acm.org/10.1145/214448.214450

The OO paradigm gives programmers a strong framework for the design of their
programs; however, those designs cannot always be implemented in a purely OO
language. In "A Pragmatic Approach to C++, Eiffel and Ada 9X Programming"
G. de Vivo and M. de Vivo explore how well C++, Eiffel, and Ada 9X support
the OO paradigm to determine "the adequacy of the actual OO languages for the
implementation of OO designed systems" (9).

The three languages support OOP in varying ways: each utilizes different
abstraction, inheritance, and dynamic binding mechanisms. Also, Eiffel is a
pure OOL while C++ and Ada 9X are hybrid languages, meaning that they are based
on other languages (C and Ada 83, respectively). Quality mechanisms such as
exception handling, extendibility, and efficiency also vary among these
languages. Each langauge seems to have advantages and disadvantages as
compared to the others.

When trying to implement an OO design in each language, the authors found
that the implementers developed different styles in each langauge and faced
various challenges. The developer tended towards a more procedural than OO
style when using C++ or Ada 9X, while the Eiffel developer adhered to a more
OO solution due to Eiffel's object-structuring enforcement. The most errors
were seen using C++; however, most were syntax errors simply because C++ has a
significantly more complicated syntax than Eiffel or Ada 9X.

Many of the other discussions, such as Daniel Engel's, suggest that the
langauge which is to be used should play a role in the design of a program.
However, my article presents an alternative: all these languages claim to be
OOL, so all that programmers should have in mind during the design phase is the
OO paradigm. Once the programmer has a design, he can choose a language with
characteristics that best suit that design.

Links to this Page