Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!news.acsu.buffalo.edu!dsinc!newsfeed.pitt.edu!news.duq.edu!newsgate.duke.edu!news.mathworks.com!news.sprintlink.net!news-peer.sprintlink.net!server1.nw.ixe.net!server1.adam.ixe.net!news2.euro.net!news.euro.net!xs4all!news.unisource.nl!news.tip.nl!news
From: richard@highrise.nl
Subject: Re: What is wrong with OO ?
X-Nntp-Posting-Host: 143.177.122.2
Message-ID: <E5Dx8v.6y3@tip.nl>
Sender: news@tip.nl (The News User)
Reply-To: dion@multitask.com.au (Dion Gillard)
Organization: Highrise Internetworking
X-Newsreader: IBM NewsReader/2 v1.02
References: <JSA.97Jan3143208@alexandria> <fxtu3oysbzp.fsf@isolde.mti.sgi.com> <JSA.97Jan6190704@alexandria> <E3uK9F.CzG@research.att.com>
Date: Mon, 10 Feb 1997 11:29:19 GMT
Lines: 43
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:246912 comp.lang.smalltalk:51326 comp.lang.eiffel:18318 comp.lang.ada:57384 comp.object:60961 comp.software-eng:53590

In <E3uK9F.CzG@research.att.com>, bs@research.att.com (Bjarne Stroustrup) writes:

>
>Why is any of this relevant now? Why do I bother with this debate on
>"innovation?" Because some of what is said related directly to what C++
>is and should be, and that again affects where it is reasonable to use
>it and how it is best used. If you misunderstand some of the fundamentals
>of a language, the code you write in it is going to be suboptimal in several
>ways.
>	

Well, who am I to judge.. but in my view C++ is basically C with the 
capability to add functions to structs. Before I tried C++, I would
bundle pointers to functions in my C-structs to fake some kind of
OO-like bundling of similar functions ;)   C++ take this a major
step further by actually bundling data and functions together
in a struct. But that is what classes are in C++: just enhanced
structs!

I find that many of the OO-capabilities of C++ are just "crammed in"
to overcome the static nature of the language. C++ is by far not 
elegant in this respect. I get the idea that a lot of features 
have been braught in on the fly ("hey, multiple inhertiance
would be neat. And while we're at it, let's try templates too").

That C++ still works as a OO-language is mostly due to the strengths of
the language C itself... it appears to still work even under the
weirdest circumstances. In that respect Stroustup made an excellent
chouce by using C as a base ;)

Greetz,

RS










