From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_40 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 25 Jan 93 15:49:33 GMT From: alice!bs@ucbvax.Berkeley.EDU (Bjarne Stroustrup) Subject: Re: Why and how do organizations select the OO Message-ID: <24696@alice.att.com> List-Id: mfeldman@seas.gwu.edu (Michael Feldman @ George Washington University) writes > The point was not to tar OO experts as windbags, I didn't think you were, though of course SOME are. > but to comment on the > state of things. The customer in this case is thrashing around, has > little knowledge of what's happening in the field, and is making purely > political/religious statements. My distress came from the fact that > the organization didn't seem really interested in finding out more > or get really educated. and that's the real rub. Many organizations and people are so busy ``getting the job done'' or jumping on some bandwagon that they don't want to take the time to learn anything new. The real power of languages that support techniques beyond what is directly supported by C/Pascal is exactly those techniques. Ada supports data abstraction and C++ data abstraction and object-oriented programming (let's quibble about the meaning of those words elsewhere if we must; their exact meaning isn't important to what I'm trying to say here) and unless you take the bother learning those techniques you are not going to get anywhere near the benefits from Ada/C++ that you might. One way of expressing this is that companies (and individuals) wants mere training (i.e. ways of using new tools without absorbing new concepts). What they need is education (i.e. new concepts and their related techniques). Ada without some understanding of data abstraction, etc. seems to me to be very nearly just Pascal, and C++ without some understanding of data abstraction, etc. is just C with better type checking. I don't know about the Ada world, but in the C++ world we do have a problem with teachers and textbook writers who miss the connection between concepts and programming language constructs and thus miss the point and makes learning unnecessarily difficult for the students. > They were - as is so often the case - arguing > from nontechnical starting points. There are pro-OO and anti-OO factions > in the group, neither being especially scientific. There is also a > faction that believes the Ada mandate should be followed in their case, > and a faction that is working harder to evade the mandate that they > would need to work to follow it. > Their state of knowledge of OO truly seemed to be "It's that stuff that > C++ has and Ada doesn't." Some in the group were quite surprised to > discover (from me) that Ada supports information hiding and private types. > Their eyes glazed over when I got to the intricacies of inheritance. Maybe you focussed too much on the intricacies and too little on the concepts :-) I don't experience serious problems getting the object- oriented concepts and the C++ language mechanisms that support then across - the problem comes when the ideas have to be applied to real projects (exactly, as for the data abstraction concepts and the language constructs that support them).