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 - Fisnik Shpuza


Title: Java and the Object-Oriented Paradigm: Comparison and Evaluation.

When comparing OOPL from an unbiased stand point there are several features of the language to be taken in consideration. The authors of the above mentioned paper make a clear step by step comparison using the evaluation methodology proposed be Edward Berard in his essay “Evaluating an Object Oriented Programming Language”. This methodology considers common, missing, and new features of Java with other OOPL.

The major differences between Java and C++ are as follows. Java has removed the pointer concept of C++, and has drawn the line between classes adopting value semantics and classes adopting reference semantics. Also Java has removed the notion of global variables that are declared outside the class. Apart from that, in Eiffel the class can be chosen between expanded classes and reference (ordinary) classes from the programmer.
Unlike Eiffel features, Java methods do not specify assertions (expressed in preconditions and post conditions). The authors believe that the specification of operations applicable to objects of a class should be accompanied by the semantics of the operation. The authors conclude that Java is less expressive then Eiffel and Smalltalk with respect to the issue of access rights. This is based on the fact that in java classes are available from their full name but in Eiffel and Smalltalk the system searches for the classes, avoiding the need to specify class dependencies. The above feature affects programming positively in Smalltalk and Eiffel in these languages. The authors also make clear the fact that looking that Eiffel and Smalltalk search for dependent classes, and that the user does not have to include any declaration of them in other classes. This gives more attention to the OO structure of the language, reduces cognitive load, and gives the advantage to the user to look at the program as a big picture and not in different pieces. These feature, as the author puts it makes progrmaing in SmallTalk and Eiffel shorter and more learnable.

I think that the summary that Chris Ronderos has presented for the paper of Daniel Steinburg relates in many ways to the paper I considered for this discussion. His commentary mirrors the main points of Steingburgs paper. I think that as Eiffel, Squeak is a simple language and should not be introduced to the student after a heavy course as 2335. This can be proven by the fact that there isn’t a semester where the Squeak professor should prove his point and why this class is being taught in Squeak and not in Java. Plus Squeak is easy enough that can be taught to elementary school kids, thus it would serve as a good introductory course in OOPL

Links to this Page