Author_Institution :
Dept. of Electr. Eng., Princeton Univ., NJ, USA
Abstract :
The author compares two very different object-oriented programming languages, Flavors and C++, with respect to their merits and how design decisions in each language influence various aspects of programming. The fundamental difference between the two languages is that C++ is strongly typed while Flavors is weakly typed. The comparison follows the completion of two very similar programming projects, one using Flavors and the other C++, allowing direct comparison of software implementation methods in these languages. The projects involved the design of two systems for describing and generating electronic hardware. Differences in implementing all three object-oriented language mechanisms-data abstraction, inheritance, and runtime method determination-are discussed. Typing, memory management, syntax aids and the programming environment are examined. It is concluded that the choice of a language can have a profound influence on program design.<>
Keywords :
C language; high level languages; object-oriented programming; C++; Flavors; data abstraction; design decisions; inheritance; memory management; object-oriented languages; object-oriented programming languages; program design; programming environment; runtime method determination; software implementation methods; syntax aids; Environmental management; Hardware; Memory management; Object oriented programming; Programming environments; Runtime;