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=0.6 required=5.0 tests=BAYES_20,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/21 Message-ID: <3n89vl$kmr@atlantis.utmb.edu>#1/1 X-Deja-AN: 101368935 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-21T00:00:00+00:00 List-Id: dewar@cs.nyu.edu (Robert Dewar) wrote: > > when people argue about whether something is pure or not, they must have > ulterior motives. Yeah, like setting the record straight . . . Look, person A said that C++ wasn't a "pure" OOPL. Person B asked "Why?" Person C (me) answered person B's question -- CORRECTLY. Everybody gets offended at this, as if person C blasphemed against someone's god(s). Why? > ulterior motives. You can't believe that people put this much energy into > arguing about something that is just terminology. > > what is going on here is the underlying reasoning > > x is pure > pure is good > therefore x is good Nope, nope, nope, a thousand times, nope. It's more like: X is pure Y is not pure Therefore, it may be easier to do some things in Y than it would in X. You CAN do these things in X, but the result is a bad implementation of X's paradigm. You may be better off using Y. If you need to use X's paradigm, then there may be advantages to using X instead of Y, but maybe not. I repeat: Why do people take offense at this? > at least this syllogism doesn't have a divided middle, but it's really > pretty thin! Why not argue about specific technical features, whose presence > or absence is objectively determinable, and then discuss why or why not > you think the features is a GOOD THING! The fact that Y directly supports multiple programming paradigms IS a "technical feature." The fact that X does NOT is ALSO a "technical feature." There are pros and cons to both: PRO: CON: PURE: generally cleaner somewhat rigid, implementation since only one paradigm is supported simpler, more may require consistent syntax retraining, minimal skillset reuse IMPURE: allows the use of implementation current paradigm may be complex, skillset inelegant generally more synatx is less flexible consistent etc. Like all such issues, simply saying that "pure is good and impure is bad" is simplistic and reveals ignorance on the part of anyone making such a statement. It may be useful to distinguish between the two, and it may not, depending on the situation. Saying that the distinction is universally useless is just as simplistic and ignorant as saying "pure is good and impure is bad." Curtis Bass Software Systems Specialist II University of Texas Medical Branch