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.2 required=5.0 tests=BAYES_00,FROM_ADDR_WS, INVALID_MSGID,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public From: skaller@maxtal.com.au (John (Max) Skaller) Subject: OO, C++, and something much better! Date: 1997/01/04 Message-ID: <32ce7009.280817694@news.zip.com.au>#1/1 X-Deja-AN: 207689725 references: <32CCE4ED.6A21@online.no> <5ajo99$khu@panix.com> organization: Maxtal P/L reply-to: skaller@maxtal.com.au newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-04T00:00:00+00:00 List-Id: On 3 Jan 1997 14:56:25 -0500, comeau@panix.com (Greg Comeau) wrote: >In article <32CCE4ED.6A21@online.no> emangset@online.no writes: >>Robert C. Martin wrote: >>> > C++ was and is a _follower_. That is not necessarily a bad thing, but >> > it is anything _but_ innovative. >>> >>> WRT technology I agree with you. But C++ *does* show innovation in a >>> completely different vein. C++ is one of the first of the industrial OO >>> languages that was created for the engineer instead of for the paradigm. >>> C++ was not created to be "pure" or "right" or "correct". It was created >>> to be *used*. And in that regard it represents an innovation wrt industrial >>> OO languages. >>> Robert C. Martin >> >>Sorry, but you are wrong. This is one of the many myths that surrounds >>C++. No engineer I know would use any tool pertaining to his or her >>profession that was as badly designed and implemented as C++. "Pure" >>pragmatism is not an option with respect to language design, something >>even Mr. Stroustrup himself acknowledges. > >I have not a clue what you are talking about. Indeed, the beauty >of C++ is that it is a hybrid and that it does not lock you into one >particular thing. Robert is indeed correct about its flexibility >and avoidance of so-called political correctness. Since when are >pragmatics not important in design, decisions, engineering? Here' my opinion. Stroustrup is to be applauded for making a powerful "non-religious" language available to everyone. C++ is not a clean language. It's quite messy and hard to use. But it is available. No one knows how to design a quality system -- and _also_ make is widely available. Bjarne decided "having better than what we have" was better than some intangible thing no one had. Is C++ innovative? Too right it is. It has the most powerful support for genericity available in any widely used commercial language. (Sorry, Ada doesn't count, Eiffel is borderline, current Java is a backward step. If there is any competition it is from Smalltalk [which uses dynamism instead]). Is it "pure OO"? No. Thank goodness. It has something much better -- a vague and not very good appoximation to a new methodology which provides vastly superior reusability, categorical progamming. The evidence is in Standard (Template) Library which is one of the most reusable commercial libraries available for any system. There is hardly any inheritance at all in the C++ Standard Library. It is not an "Object Oriented" library. 80 or so members of the C++ committee, however, thought it was the best choice for C++. Is C++ innovative? Of course it is. It was one of the FIRST mainsteam language to provide class based object orientation and go on to something much better before standardisation has been completed. Modern C++ has made TWO paradigm shifts. Most people haven't made the first (to OO) yet it is already being replaced.