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 by Elizabeth Solomon

Programming Language Comparison by Jason Voegele

Jason Voegele describes what makes a language object oriented. Jason states in his paper that all Object Oriented Programming Languages should have these qualities: Encapsulation, Inheritance, Polymorphism, have objects as their predefined types, operations should essentially be sending messages to objects and all user defined types should be objects.

Based on these criteria, Eiffel, Smalltalk and Ruby are the only “pure” object oriented languages because they strictly adhere to all the qualities above. Java, C++ and C# deviate from these criteria because they do have pre-defined types which are not objects like int and some of their operations are not messages to objects example implemeting basic arithmetic with built-in operators.

Static and Dynamic typing was one of the highlights of this paper. Most of the pure object oriented languages used dynamic typing whilst the other popular languages used static typing. The paper argued that each of the two types are beneficial. Whilst dynamic typing allows flexibility, the programmer has to make sure the right type is being passed in. Where as the compiler ensures compatibility with the type in a static typing environmment because all variables are declared with a specific type. Hence more safe and reliable.

The paper on the otherhand did not infer that the difference in the different object oriented languages affect the programmer in any way. It rather shows that the dynamics in the different languages offer the programmer a myriad of choices from which to choose the language that best fit the problem they are solving considering it's audience as well as the ease with which one language solves the problem over the other.

In general, the paper desribes the essence of having these variabilities in order to conform to our coding needs be it the style, functionality, interfaces and what have you. Some languages augment certain characteristics better than others. As a result it may be preferable to use one over the other.

Cooper Welch also talked about dynamic and static typing in his discussion. Both papers confirmed the fact that both forms of typing are beneficial. Static typing provides safety and reliabilty and dynamic typing is flexible and produces compact code which helps with prototyping. This affirms the fact that the programmer's needs prompts the choice of program. All object oriented programming languages have advantages and disadvantages. Knowledge of these will help in making good choices for developing programs with ease.

Link to this Page