Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Discussion 1 - Daniel Engel
I read a paper called “A Conceptual Perspective on the Comparison of Object-Oriented Programming Languages”. I found the paper in the ACM digital library provided by the Georgia Tech library. Its main purpose was to look at the features of object-oriented languages and see how they affect the conceptual perspectives that can be used with that language. The languages are then compared based on their supported conceptual perspectives. The paper includes analysis on Smalltalk, Beta, C++, Eiffel, CLOS, Self, Objective C, Ada, SIMULA, and Object Pascal.
The paper includes a variety of sections that all end in a chart that classifies how each of the languages works under the aspect the section described. The aspects that were compared included the intention/extension relationship, abstraction process, pragmatic aspects of abstraction process and kinds of concepts. These charts were then combined at the end to show the overall difference between languages when viewed from a conceptual viewpoint.
The paper found a number of languages to be very similar as expected such as SIMULA/ Object Pascal, Beta/SIMULA, and C++/Objective C as well as some you wouldn’t expect such as Eiffel/C++ and ST80 / CLOS. While they may seem to be different from a syntactical point of view some of these languages are close to each other from the conceptual point of view which is more important. When designing a program a programmer has to start with a conceptual point of view which makes a comparison of this type very valid. How a programming language is structured at its top level greatly effects what would make a good design for that programming language and thus effects how best to program in different languages much more so then syntactical issues.
In reference to Hai Phan’s discussion where he states “Each language has its own advantages and disadvantages. Thus, the programmers always should consider all the requirements for a project before choosing the language for their implementation.” I would like to add that when looking at a problem it may be beneficial to look at what language works best from a conceptual point of view before considering other attributes.
Link to this Page