home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!crdgw1!rpi!usc!howland.reston.ans.net!bogus.sura.net!darwin.sura.net!sgiblab!munnari.oz.au!metro!extro.ucc.su.OZ.AU!maxtal
- From: maxtal@extro.ucc.su.OZ.AU (John MAX Skaller)
- Newsgroups: comp.lang.c++
- Subject: Re: Why is C++ not considered a true OOL?
- Message-ID: <1993Jan27.193954.16386@ucc.su.OZ.AU>
- Date: 27 Jan 93 19:39:54 GMT
- References: <1993Jan21.034840.11361@syacus.acus.oz.au> <1993Jan22.194724.22151@ucc.su.OZ.AU> <1993Jan26.015219.10541@syacus.acus.oz.au>
- Sender: news@ucc.su.OZ.AU
- Organization: MAXTAL P/L C/- University Computing Centre, Sydney
- Lines: 72
- Nntp-Posting-Host: extro.ucc.su.oz.au
-
- In article <1993Jan26.015219.10541@syacus.acus.oz.au> ian@syacus.acus.oz.au (Ian Joyner) writes:
- >maxtal@extro.ucc.su.OZ.AU (John MAX Skaller) writes:
- >
- >>>Some people see pure OOLs as restrictive.
- >
- >> Especially if they favour writing some programs
- >>using an ADT approach rather than an OO one.
- >
- >I don't see this. One definition proposed for OOP is that it approximates
- >to ADTs + inheritance. So many OO languages are strongly based on ADTs. I
- >can't see anything magic about C++ that makes it a better tool for
- >implementing ADTs than any other OO language.
-
- ADT programming concentrates on VALUES not objects.
- C++ provides strong support for values: constructors, conversions,
- templates, value assignment, to name a few things.
-
- The values --- to some extent --- are independent of
- the objects holding them. More 'Object' oriented languages
- do not provide this support to the same degree.
-
- See how Eiffel 3 is upgraded to provide more support
- for values from the original Eiffel: Eiffel 3 now has
- constructors, and supports 'expanded' objects (known
- in C as 'auto' variables), and supports copying of values
- from one object to another and not just pointer
- assignment.
- >
- >John's going to love me for this, but arguments defending C++, based
- >on ADTs and mixed idiom programming are as fatuous as the engineering
- >compromise argument, which was effectively dispelled last year. These
- >are weak arguments. Even if they were strong arguments, they could not
- >make up for the fact that C++ is a language based on all the faults
- >of C, and it therefore leaves much to be desired as an OOL, or a modern
- >language of any paradigm.
-
- I agree C++ has many problems, some cannot be resolved:
- for example the lack of garbage collection is not likely to
- be fixed --- ever (just guessing here).
-
- However, I use C++ not Eiffel because, for one thing,
- I have a compiler for it for my PC. Now I have a choice
- of 4 different compilers (at least).
-
- >
- >In summary, I think that ADTs, idioms, etc have become technical jargon
- >that is now being thrown around to avoid the real issues.
-
- I think 'Object Oriented' fits this category much better.
-
- And some of the *real* issues are not technical but
- political, social, commercial, economic and other things in such
- a vein.
-
- For example, Eiffel is not an ISO language. Many
- sites will not use a language that does not have an ISO
- standard --- including perhaps C++ until the standard is done.
-
- I saw a daring (Australian too!) post asking for
- Eiffel by preference! This is unusual: perhaps they were
- more aware of technical issues than most.
-
- But I dont think C++ is as bad as it is made out to be.
- Its worst feature (IMHO) is the ugly syntax inherited from C.
- (I'd like garbage collection and assertions too :-)
-
-
- --
- ;----------------------------------------------------------------------
- JOHN (MAX) SKALLER, maxtal@extro.ucc.su.oz.au
- Maxtal Pty Ltd, 6 MacKay St ASHFIELD, NSW 2131, AUSTRALIA
- ;------ SCIENTIFIC AND ENGINEERING SOFTWARE ---ph: 2 799 8223 --------
-