From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,97482af7429a6a62 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97482af7429a6a62 X-Google-Attributes: gid103376,public X-Google-Thread: 10d15b,97482af7429a6a62 X-Google-Attributes: gid10d15b,public From: Curtis Bass Subject: Re: C++ not OOP? (Was: Language Efficiency Date: 1995/04/20 Message-ID: <3n60kc$gki@atlantis.utmb.edu>#1/1 X-Deja-AN: 101281588 references: <3n3o9c$cud@atlantis.utmb.edu> <3n43p0$ehs@Starbase.NeoSoft.COM> <3n5oup$g2s@atlantis.utmb.edu> <3n5r92$95@Starbase.NeoSoft.COM> organization: Office of Academic Computing newsgroups: comp.lang.c++,comp.lang.ada,comp.lang.cobol Date: 1995-04-20T00:00:00+00:00 List-Id: dweller@Starbase.NeoSoft.COM (David Weller) wrote: > > In article <3n5oup$g2s@atlantis.utmb.edu>, > Curtis Bass wrote: > >dweller@Starbase.NeoSoft.COM (David Weller) wrote: > >> > >> In article <3n3o9c$cud@atlantis.utmb.edu>, > >> Curtis Bass wrote: > >> >If I can write a procedure that is NOT attached to an object, > >> >then I am NOT using a "PURE" OOPL. > >> > > >> Curtis, please cite the references you have used to gain this silly > >> notion. > > > >[Moderate flames deleted] > > Um, was it just me, or did Curtis shed more heat than light? All I"m > asking is for you to answer the question. I saw Grady's comments, > but I'd hardly consider that some kind of philosophical foundation. > I certainly wouldn't build a house on it (or even a doghouse :-) Had you avoided the word "silly," you would have avoided the heat. I don't like having my intelligence questioned. You can question my views and opinions all you want, but if you start condescending toward my intelligence level, you'd better be wearing asbestos. We are not discussing a "philosophical foundation," but simply the difference(s) between "pure" and "hybrid" OOPL's. As I said in my previous post, I was just answering another poster's question re: why C++ is not "pure" in the OOP sense. You obviously have a problem with this, and there is obviously nothing I can do about it. > Perhaps a better way to formulate it is: How do you defend syntactic > differences as somehow rendering something more "pure" than another? Listen, "pure" does NOT necessarily mean "good" or "holy" or "righteous." Saying that C++ is not a "pure" OOPL is NOT saying that C++ is "sinful" or "evil." No, pure (in this context) simply means homogeneous, and "impure" simple means heterogeneous, and this is WRT the programming model(s). C++ DIRECTLY supports TWO models; Structured and Object- Oriented, ergo, it is heterogenous, ergo, it is not purely an OOPL. Smalltalk directly supports ONLY ONE paradigm: Object-Oriented programming, ergo, it is homogeneous, ergo, it is purely an OOPL. What I cannot fathom is why this offends people, as if I am committing some sort of religious heresy by saying these things. Yes, yes, YES. I KNOW that you can "do procedural programming" in Smalltalk. Who cares? Smalltalk STILL only supports the Object-Oriented model directly. If you want to do procedural programming, you should NOT use Smalltalk -- other languages are better suited. If you INSIST on doing procdural programming in Smalltalk, you can do it, but only by fighting the language and not by working with the language. You have to attach your procedures to an object -- there is no way around this. As Booch says, "everything is an object" in Smalltalk -- there are no procedures, only methods. You CAN do structured programming in old-fashioned BASIC, but there are other languages that are better suited. You can do spaghetti programming in Pascal, but there are other languages that are better suited. All this rambling means is this: Doing "procedural" programming in a "pure" OOPL does NOT invalidate the definition of "pure," nor does it make the distinction between "pure" and "hybrid" invalid. If you had bothered to read my previous post, I admitted that the distinction between "pure" and "hybrid" OOPL's may or may not have any value to a person, and that I couldn't care less one way or the other. So, basically, there is nothing to "defend." Curtis Bass Software Systems Specialist II University of Texas Medical Branch