From: rmartin@rcmcon.com (Robert Martin)
Subject: Re: C++ not OOP? (Was: Language Efficiency
Date: 1995/04/21
Date: 1995-04-21T00:00:00+00:00 [thread overview]
Message-ID: <1995Apr21.184038.7182@rcmcon.com> (raw)
In-Reply-To: 3n0uvi$8jt@atlantis.utmb.edu
>pete@borland.com (Pete Becker) wrote:
>> Suppose you are evaluating a new language, say, C+#, and you
>> hear from a reliable source that it is a "pure OOPL". What conclusions
>> can you draw about this language that would tell you whether it is
>> better suited to your purposes than, say, C+$, which is not a "pure
>> OOPL"?
Curtis Bass <cbass%intmeds1.utmb@mhost.utmb.edu> writes:
>The conclusions that I would draw are:
> #1. All code must be attached to objects.
> i. I will not be able to write a procedure that
> is independent -- it must be attached to an object
This does not guarantee that the stucture of your procedures or your
objects will be in any way superior to those written in C+$. So of
what use it it?
> ii. It would behoove me to have an Object-Oriented
> Design (as opposed to a Structured Design) of
> the system before I start coding in C+#, because
> writing structured code will not be an option.
> (Yes, I can kludge it by having just one object,
> and attaching all of the code to that object, but
> the result technically would still not be an
> example of "structured programming," but would
> rather be an example of BAD OO programming).
Saying that it is BAD doesn't eliminate it as an option. In any case,
you could make the identical argument about C+$. It would behoove you
to have an object oriented design!
> iii. My programming team had better be fluent in OO
> concepts before using C+#, because there is no
> mechanism for writing structured C+# today, and
> gradually growing into Object-Oriented C+#
> tomorrow.
This is the same argument as number ii, just rephrased. In any case
it is just as true for C+$. Your programming team had better be
fluent in OO if they are going to implement an OOD.
> iv. Since it is a pure OOPL, there is a great
> likelihood that the language itself is of
> a fairly simple and elegant design. OTOH,
> C+$ will probably be a very complex language,
> since it supports two different programming
> paradigms (structured and OO).
I am sure that you cannot substantiate this claim.
> Also, with
> C+#, I can rest assured that the syntax is
> uniform (all procedures will have an object
> ID prefix).
What do you mean? A prefix? Do you mean that all procedures will
belong to an object? Isn't this your point i above?
> C+$ would allow me to have SOME
> procedures WITH an object ID prefix, and some
> WITHOUT one. This could lead to confusion for
> the maintenance programmers.
How?
> Also, such code
> would represent a rather messy, inelegant
> design, which would be less of an option in C+#.
Why? Are designs with nothing but objects always cleaner than designs
that sometimes have global functions? I'd like to see the proof of that.
> #2. All data must be encapsulated within objects.
> i. There will not be any variables that are global
> to the application, unless they reside in a
> "root" object. Even in this case, we can have
> more control over their scope and accessability
> than would be avalable in C+$. In C+$, any global
> variable we have would be accessable by ANY
> procedure we write. In C+#, this would not be
> the case.
Unless all procedures and data were in the same object. Then there is
no control at all.
> ii. I can create new data types more easiliy, by
> deriving them from existing data types, then
> changing only that which needs to be changed,
> and inhereting the rest of the functionality
> from the parent data type. Since C+$ is not
> a pure OOPL, then variables are not objects,
> and therefore I would not have this capability.
In C+$ you would have this ability with any kind of variable you
desired to have it with.
--
Robert Martin | Design Consulting | Training courses offered:
Object Mentor Assoc.| rmartin@rcmcon.com | Object Oriented Analysis
2080 Cranbrook Rd. | Tel: (708) 918-1004 | Object Oriented Design
Green Oaks IL 60048 | Fax: (708) 918-1023 | C++
next prev parent reply other threads:[~1995-04-21 0:00 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
1995-04-02 0:00 Language Efficiency Robert C. Bethel
1995-04-04 0:00 ` Harold P Zbiegien
1995-04-04 0:00 ` Larry Kilgallen
1995-04-06 0:00 ` Robert Dewar
1995-04-04 0:00 ` Kennel
1995-04-05 0:00 ` Ray Toal
1995-04-07 0:00 ` Robert Dewar
1995-04-19 0:00 ` Fergus Henderson
1995-04-19 0:00 ` Robert Dewar
1995-04-20 0:00 ` Kennel
1995-04-19 0:00 ` Robert Dewar
[not found] ` <3m9o9q$igf@stc06.ctd.ornl.gov>
[not found] ` <D6ss6z.Gvw@mcshub.dcss.mcmaster.ca>
[not found] ` <dewar.797512974@gnat>
1995-04-19 0:00 ` Adam Beneschan
1995-04-19 0:00 ` Robert Dewar
[not found] ` <3mbmd5$s06@icebox.mfltd.co.uk>
1995-04-19 0:00 ` C++ not OOP? (Was: " Harley Davis
[not found] ` <D6uA77.Lqp@mcshub.dcss.mcmaster.ca>
[not found] ` <dewar.797566928@gnat>
[not found] ` <D6vxDG.JKJ@mcshub.dcss.mcmaster.ca>
[not found] ` <dewar.797636710@gnat>
[not found] ` <D6xF22.38H@mcshub.dcss.mcmaster.ca>
[not found] ` <dewar.797729041@gnat>
[not found] ` <3msdop$862@stc06.ctd.ornl.gov>
1995-04-19 0:00 ` Paul Graham
1995-04-19 0:00 ` Robert Dewar
[not found] ` <3mcfbf$psl@acmez.gatech.edu>
[not found] ` <3mgnkc$e3j@atlantis <3muaif$46u@atlantis.utmb.edu>
[not found] ` <3n0lsu$nio@druid.borland.com>
[not found] ` <3n0uvi$8jt@atlantis.utmb.edu>
1995-04-19 0:00 ` C++ not OOP? (Was: " Fernando Mato Mira
1995-04-19 0:00 ` Curtis Bass
1995-04-19 0:00 ` David Weller
1995-04-20 0:00 ` Curtis Bass
1995-04-20 0:00 ` David Weller
1995-04-20 0:00 ` Curtis Bass
1995-04-21 0:00 ` Robert Martin
1995-04-21 0:00 ` Ed Osinski
1995-04-21 0:00 ` Fernando Mato Mira
1995-04-20 0:00 ` Robert Dewar
1995-04-21 0:00 ` Curtis Bass
1995-04-21 0:00 ` Robert Dewar
1995-04-21 0:00 ` Robert Martin
1995-04-20 0:00 ` Matt Austern
1995-04-21 0:00 ` Robert Martin
1995-04-21 0:00 ` Curtis Bass
1995-04-21 0:00 ` Robert Martin [this message]
1995-04-21 0:00 ` Curtis Bass
1995-04-21 0:00 ` Ed Osinski
1995-04-21 0:00 ` Matt Austern
1995-04-22 0:00 ` David Weller
1995-04-22 0:00 ` Robert Martin
1995-04-22 0:00 ` OOAD courses by Object Mentor cjames
[not found] ` <3mgnkc$e3j@atlantis.utmb.edu>
[not found] ` <3mk65q$1kti@watnews1.watson.ibm.com>
[not found] ` <3muavq$46u@atlantis.utmb.edu>
1995-04-21 0:00 ` C++ not OOP? (Was: Language Efficiency Norman H. Cohen
1995-04-21 0:00 ` Curtis Bass
[not found] ` <1995Apr13.180317.3308@rcmcon.com>
[not found] ` <3muaif$46u@atlantis.utmb.edu>
1995-04-21 0:00 ` Robert Martin
1995-04-21 0:00 ` Curtis Bass
1995-04-21 0:00 ` Robert Dewar
1995-04-22 0:00 ` Robert Martin
[not found] ` <3mcoh6$add@Starbase.NeoSoft.COM>
[not found] ` <3mdrpf$3o9@disunms.epfl.ch>
[not found] ` <dewar.797608300@gnat>
[not found] ` <3mg45s$5r7@disunms.epfl.ch>
[not found] ` <3mjc8c$630@crcnis3.unl.edu>
[not found] ` <D71Gs9.2FG@nntpa.cb.att.com>
[not found] ` <EACHUS.95Apr17162921@spectre.mitre.org>
[not found] ` <3n1als$ksi@no-names.nerdc.ufl.edu>
1995-04-19 0:00 ` Multiple dispatch (was Re: C++ not OOP?) Fernando Mato Mira
[not found] ` <1995Apr13.152104@di.epfl.ch>
1995-04-21 0:00 ` C++ not OOP? (Was: Language Efficiency James McKim
1995-04-19 0:00 ` Multiple dispatch (was Re: C++ not OOP?) Kenneth Almquist
1995-04-19 0:00 ` Robert I. Eachus
1995-04-21 0:00 ` Robert I. Eachus
1995-04-21 0:00 ` C++ not OOP? (Was: Language Efficiency Norman H. Cohen
1995-04-21 0:00 ` Fernando Mato Mira
1995-04-21 0:00 ` Erik Naggum
[not found] ` <MATT.95Apr17124932@physics10.berkeley.edu>
[not found] ` <3mujnl$4u8@atlantis.utmb.edu>
1995-04-20 0:00 ` ron house
1995-04-21 0:00 ` Robert Martin
1995-04-21 0:00 ` Curtis Bass
[not found] ` <dewar.797469506@gnat>
[not found] ` <1995Apr10.095958@di.epfl.ch>
[not found] ` <dewar.797513130@gnat>
[not found] ` <1995Apr10.165638@di.epfl.ch>
[not found] ` <D6yGqv.4BG@nntpa.cb.att.com>
1995-04-21 0:00 ` Fergus Henderson
1995-04-22 0:00 ` Kenneth Almquist
1995-04-20 0:00 ` Matt Austern
1995-04-21 0:00 ` Robert I. Eachus
1995-04-04 0:00 ` Bob Kitzberger
1995-04-05 0:00 ` Mike Wilson
1995-04-05 0:00 ` Larry Kilgallen
1995-04-05 0:00 ` David Weller
1995-04-05 0:00 ` Mitch Gart
1995-04-05 0:00 ` Lawrence Free/ A.F. Software Services
1995-04-06 0:00 ` Ken Leidner
1995-04-06 0:00 ` Larry Kilgallen
-- strict thread matches above, loose matches on Subject: below --
1995-04-20 0:00 C++ not OOP? (Was: " Wes Groleau
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox