Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
I am a 4th year CS major. I am also getting a certificiate in IT Management. http://www.prism.gatech.edu/~gtg296s/
What are the differences between creaional, structural, and behavioral
Creational patters automaticall generate objects for you, structural
patterns help with data composition to allow for scalability, and
behavioral patterns help to define the communication between objects and
flow control for the program.
The "task window" pattern is when the programmer tries to either fit
everything into one window or everything in its own window. The example of
the interface with too much in one window was an Auto-CAD program. The
early Macintosh's, however, were forced to split each function to its own
window. This cluttered the workstation. The "happy medium" to find for
this is when each window is responsible for a single task.
I can see myself falling into the "too many windows" group. The idea of
giving one window per task sounds reasonable to me. I will probably
consider this when coding a larger project.
"A Conceptual Perspective on the Comparison of Object-Oriented Programming Languages"
This article was written a while ago, back in 1996, so the information is pertinent, but the time period bears noting. It begins by defining an object oriented language as “object-oriented = objects + classes + inheritance”. It compares their support for various types of abstraction including: classification, aggregation, and specialization. The ST80, Beta, C++, Eiffel, CLOS, Self, Objective C, Ada, Simula, and O-Pascal languages were used for comparisons. Objective C was marked as using “message expressions” (from smalltalk?) as well as objects for abstraction.
Some languages discussed are more inclusive of modern abstraction capabilities. Eiffel employs “features”, which can be renamed and redefined in its subclasses. With the ST80 language the class of an object could be changed dynamically with a call to the “changeClassToThatOf” method. Also, in ST80, references have no type, so a variable could change its object association. This ability is not available to the programmer in popular modern languages such as Java and C++.
It then talks about how languages use "kinds" and "things" to impliment verbs and nouns, respectively, from natural languages. For example, C++ uses "friend functions" to implement these actions.
Answers to the Questions:
- These languages differ most in the different facilities they use to implement Object Oriented programming. Some languages use inheritance as a type of abstraction, while some emulate things from modern speech.
- These differences in implementation of OO programming affects people's programming by giving them more options on how they would like to implement their program. They are able to program according to which methodology makes the most sense to them.
~~~It should be noted that I found a much better article in the "References" at the end of my article if someone wants to use it: "What is Object-oriented programming?" - B. Stroutrup IEEE Software 1988.
Link to this Page