C++ is not just an OO language, obviously, but are you saying that it isn't an OO language at all?
I use C++ extensively, and use it procedurally, functionally, object-orientedly, generically, and often a mixture of all of the above, as appropriate for the problem at hand. I'm aware of C++ negative points (confusion between "." and "->", "[]" and "()", ";" needed after class defintions, but not function or namespace definitions), but all of these are superficial, and picked up by the compiler immediately. More significant C++ deficiencies... Generic programming (ie templates) is a bit more of a problem - the standard makes the inheritance model somewhat unintuitive. And different compilers seem to interpret the standard differently, meaning one needs to test all advanced template code carefully on different compilers. But having said that, using basic generic capability equivalent to what Java or C# offers, is unproblematic, and useful even to novice users. Finally, there is the renowned memory management problems. This comes from trying to program C++ using a Java or a C programming style. It is simple to avoid all such problems by using the simple rule "no bare pointers". Use a container, or a reference type (either the static built in type, or one of the dynamic reference types available in boost and/or TR1). The only reasons to use bare pointers is for access to legacy APIs (in which case you should wrap it into a C++ type), and for performance reasons, which you should only do after your code has been fully debugged. But I would still say that C++ gives me the ability to build more complex code, more efficiently, in about a similar or even reduced development time to other competitive languages. I couldn't give a fig whether it follows a pure OO model or not. Cheers On Sun, Aug 05, 2007 at 07:31:12PM -0400, Prof David West wrote: > > > > In my book - Object Thinking - I referenced a lot of material from this > series of books re: Simula, Smalltalk, and C++ (Java was still absent > from the books) to make the point that a lot of so-called object > languages were never intended to be such and that the only reason they > made the claim was for marketing purposes. And because programmers > failed to see why the history, purpose, and philosophy of a language was > relevant to using the language, 98% of the programmers still have no > clue how to to OO. > > davew > > > On Sat, 4 Aug 2007 18:53:18 -0600, "Tom Johnson" <[EMAIL PROTECTED]> > said: > > >From time to time, some of us have expressed an interest in the evolution > > >of > > various computer languages. Turns our others shared our interest and did > > something about it. > > > > http://www.oreilly.com/pub/a/oreilly/news/languageposter_0504.html --- > > The > > History of Programming Languages > > > > -- tj > > > > ========================================== > > J. T. Johnson > > Institute for Analytic Journalism -- Santa Fe, NM USA > > www.analyticjournalism.com > > 505.577.6482(c) 505.473.9646(h) > > http://www.jtjohnson.com [EMAIL PROTECTED] > > > > "You never change things by fighting the existing reality. > > To change something, build a new model that makes the > > existing model obsolete." > > -- Buckminster Fuller > > ========================================== > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at cafe at St. John's College > lectures, archives, unsubscribe, maps at http://www.friam.org -- ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 0425 253119 (mobile) Mathematics UNSW SYDNEY 2052 [EMAIL PROTECTED] Australia http://www.hpcoders.com.au ---------------------------------------------------------------------------- ============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
