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 - Andrew Calvin

The author of this paper makes comparisons between Smalltalk, Eiffel, C++, and Java. Interpreted languages like Smalltalk and Java tend to be slower than a compiled language. C++ has inline functions and allows for objects to be created on the runtime stack which makes for faster code than Eiffel which has object creation occurring on the heap. Further, the automatic garbage collection of Eiffel as well as the dynamic binding for methods can also have an impact on the speed of execution.

Smalltalk has low complexity as a language due to everything being an object and the message passing style. This makes Smalltalk a great language for educational purposes and graphics. Smalltalk offers only single inheritance. C++ has a large syntax and is regarded as having high complexity. The overloading of methods and operators is done by a complicated process. C++ offers multiple inheritance. C++ is used in embedded systems programming since it is fast and at the hardware level. Java is listed as having medium language complexity. This is so because Java doesn’t have templates, type coercion operators, or operator overloading. Java offers multiple interface inheritance. Java is popularly used for Internet programming. Eiffel allows overloading method names and is a language of medium complexity. Eiffel offers multiple inheritance. Interestingly, there are no curly brackets in Eiffel, no instructions for exiting a loop early, and the language is not case-sensitive. Eiffel is used in finance, telecommunications, and teaching.

Russell Myers’ Discussion states:
“Conversely, SmallTalk does not support looping (ie. while, for, etc.) while Java does.” The author of the paper I read states (about Smalltalk): “Control is primarily effected by message passing, yet, many of the familiar conditional and iterative control constructs reappear in Smalltalk programs emulated by sending messages. This certainly has some elegance, but does not necessarily lead to easily comprehensible programs.” Smalltalk does support looping.


Links to this Page