Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Discussion 1 - Izudin Ibrahimbegovic
LINK TO THE SOURCE: http://www.jvoegele.com/software/langcomp.html
This paper covers a broad spectrum of object oriented languages, but I will try to focus on the similarities and differences between Smalltalk and Java.
The first distinction between Smalltalk and Java is that while Smalltalk is a pure Object-Oriented language Java quallifies only as a hybrid.
The way this property is tested is by checking if a language supports all six of the following qualities:
- Encapsulation / Information Hiding
- Polymorphism / Dynamic Binding
- pre-defined types are Objects
- All operations are messages to Objects
- All user-defined types are Objects
Java does not support two of these properties. Not all pre-defined types in java are Objects. Java has primitive data types (int, char, boolean) which are not Objects. Another property that is not supported by Java is its built-in arithmetic operators where languages like Smalltalk handle arithmetic by sending messages to the Objects. Java's ability to type cast and the use of implicit type conversions creates room for run-time errors.
Both Smalltalk and Java use the same Garbage Collection technique which is Mark and Sweep.
In order to point out how the choice of language affects the experience of the programmer I researched the Capers Jones Language Level of Java and Smalltalk 80. It turns out that Smalltalk outperforms Java on this scale by far. While java is a level 6 programming language with 53 average source statements per function point Smalltalk 80 is a level 12 language with only 21 average source statements per function point. This means that productivity when using Smalltalk is more than twice as high as when using Java.
Smalltalk is easier to learn than Java due to itís stronger Object Oriented nature and would be much more appropriate in a teaching environment.
The following Discussion uses the same source:
Discussion 1 - Elizabeth Solomon
Links to this Page