View this PageEdit this Page (locked)Attachments 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 - David Eakes

Discussion 1

In B. Kristensen and K. Østerbye's A Conceptual Perspective on the Comparison of Object-Oriented Programming Languages, the authors state a rigorous comparison of several programming languages, including Smalltalk-80, C++, SIMULA, Objective-C, and CLOS just to name a few. They provide a general definition to an object-oriented language; an OO language includes objects, classes, and inheritance. For simplicity, I'll compare Smalltalk-80 and C++ to each other. In ST80, classes have class and instance variables and class methods while in C++ classes do have methods, but these methods are called "members" and described in functions and proceedures. ST80 has properties in the form of methods and instance variables mandatory, and an object must possess these properties while C++ has properties in the form of data and function members; these members are annotated as public, private, or protected. On the basis of affecting people's programming, in ST80, references can refer to any object and are type-less, but in C++ references have a type with implicit and explicit conversion available. This indicateds that C++ programmers must know certain types of objects; however, ST80 programmers need not explicitly define a variable, but I imagine this could lead to problems with objects being mis-assigned.

Smalltalk and C++ both contain many of the same elements, but also contain several differences such as the way objects are assigned. Hence, people must program differently.

In reading Michael Levy's discussion, I see that he states a comparision of several languages on several levels. In comparing my C++ and Smalltalk discussion to his C++ and Smalltalk data, I see that my data is consistent with his. I also see based on his discussion that OO languages seem to belong to some families with several languages having many similarities while being vastly different to another group of similar languages.

Links to this Page