vax2:kurt@fluke.UUCP (05/23/83)
Object Oriented Programming is nothing more or less than a way to look at problems in programming. It turns out that an important class of programming problems has a natural solution in an object oriented style. For example, a computer system may conveniently be modelled as a set of objects which represent the hardware subsystems of the modelled computer. The modules that compose compilers can also frequently be expressed as objects that communicate, although in some cases the comparison to real physical objects is somewhat strained. In fact, an object oriented model can be usefully employed in most programming tasks if the programmer is used to thinking in this way. Object oriented programming is not the last word in programming. There are certainly programming problems where the concepts do not break up neatly into objects. Just as no single language is appropriate for every programming application (no matter how often the DoD says otherwise), no programming style is appropriate for every problem. Object Oriented Programming primitives ARE a data abstraction facility. There is no important difference (other than notation) in the facilities provided by, say, Simula vs. Ada(TM). You have only the difference between C :- A.ADD(B) ! Simula complex add C := COMPLEX.ADD(A,B) -- Ada (TM) complex add Adding messages to the other notions of object oriented programming is no big thing either. Except for certain multiprocessing applications, messages are isomorphic to procedure calls and are generally implemented the same way. So, give us all a break. "Object Oriented Programming" is like "My Favorite Language." We all know that it is a good thing. People will discover just how good it is when they are exposed to a problem whose solution is obviously object oriented. Since any reasonably modern language (more modern than Pascal unfortunately) can be used in an object oriented fashion, they will discover soon enough. In a couple of years the notion of object orientation will be as normal as the notion of structured programming and will be used whenever it is useful. Kurt Guntheroth John Fluke Mfg. Co., Inc. PS: Isn't there a net.lang.* group for this discussion? PPS: Oh yeah. Ada is a trademark of the Department of Defence, makers of all those wonderful things that go bump in the night.
Smith%cmu-cs-c@sri-unix.UUCP (05/27/83)
From: David Smith <Smith@cmu-cs-c> You missed some important points of Ada. Your example of complex addition should be C := A+B; The advantage of Ada's overloading capability (and Smalltalk messages) is that the + operator is interpreted in the context of the types of its operands.