Topic: When is C++ going to deliver on reuse


Author: ellis@allegra.att.com (Margaret Ellis)
Date: 1995/05/10
Raw View
In article <tdunnava.293.0016FB5D@Neosoft.Com> tdunnava@Neosoft.Com (Todd Dunnavant) writes:
>After reading two recent fine books, "Design Patterns" by Gamma et al. and
>"Designing Object-Oriented C++ Applications Using the Booch Method" by Robert
>Martin, I am convinced that reuse is *not* a language issue as much as it is a
>design issue.  Martin demonstrates very clearly that C++ provides features
>that support reuse quite well.  The problem is that our software designs
>typically do not lead to software structures that use these features properly.
> I strongly urge anyone who is interested in enhancing software reusability to
>obtain copies of the Gamma and Martin books.
>------------------------------------------------------

If I may blow my horn, I'll also suggest "Designing and Coding Reusable C++,"
which I co-authored with Martin Carroll.  It is just out from Addison-Wesley
(ISBN 51284).  We think folks will find it useful.

Margaret Ellis
ellis@research.att.com






Author: Ian T Zimmerman <itz@rahul.net>
Date: 1995/04/30
Raw View
In article <tdunnava.293.0016FB5D@neosoft.com>,
Todd Dunnavant <tdunnava@Neosoft.Com> wrote:
>In article <3nnt2u$41o7@unixfe.rl.ac.uk> mk@isise.rl.ac.uk (Mark Koennecke) writes:
>>From: mk@isise.rl.ac.uk (Mark Koennecke)
>>Subject: Re: When is C++ going to deliver on reuse
>>Date: 27 Apr 1995 10:53:17 GMT
>
>>In article <1995Apr25.064556.18333@rcmcon.com>, rmartin@rcmcon.com (Robert Martin) writes:
>>|> clamage@Eng.Sun.COM (Steve Clamage) writes:
>>|>
>>|> >>7. When is C++ going to deliver on reuse?
>>|>
>
>After reading two recent fine books, "Design Patterns" by Gamma et al. and
>"Designing Object-Oriented C++ Applications Using the Booch Method" by Robert
>Martin, I am convinced that reuse is *not* a language issue as much as it is a
>design issue.  Martin demonstrates very clearly that C++ provides features
 ^^^^^^^^^^^^^
It is also (mostly?) a social issue. Massive reuse will not happen in
a rigid deadline-driven environment with design strictly separated
from implementation.

>that support reuse quite well.  The problem is that our software designs
>typically do not lead to software structures that use these features properly.

Because, typically, the designers have only a sketchy knowledge of the
language.

--
Ian T Zimmerman            +-------------------------------------------+
P.O. Box 13445             I    With so many executioners available,   I
Berkeley, California 94712 I suicide is a really foolish thing to do.  I
USA  <itz@rahul.net>       +-------------------------------------------+





Author: tdunnava@Neosoft.Com (Todd Dunnavant)
Date: 1995/04/29
Raw View
In article <3nnt2u$41o7@unixfe.rl.ac.uk> mk@isise.rl.ac.uk (Mark Koennecke) writes:
>From: mk@isise.rl.ac.uk (Mark Koennecke)
>Subject: Re: When is C++ going to deliver on reuse
>Date: 27 Apr 1995 10:53:17 GMT

>In article <1995Apr25.064556.18333@rcmcon.com>, rmartin@rcmcon.com (Robert Martin) writes:
>|> clamage@Eng.Sun.COM (Steve Clamage) writes:
>|>
>|> >>7. When is C++ going to deliver on reuse?
>|>

After reading two recent fine books, "Design Patterns" by Gamma et al. and
"Designing Object-Oriented C++ Applications Using the Booch Method" by Robert
Martin, I am convinced that reuse is *not* a language issue as much as it is a
design issue.  Martin demonstrates very clearly that C++ provides features
that support reuse quite well.  The problem is that our software designs
typically do not lead to software structures that use these features properly.
 I strongly urge anyone who is interested in enhancing software reusability to
obtain copies of the Gamma and Martin books.
------------------------------------------------------
Regards,

Todd Dunnavant   Houston, Texas   tdunnava@neosoft.com





Author: mk@isise.rl.ac.uk (Mark Koennecke)
Date: 1995/04/27
Raw View
In article <1995Apr25.064556.18333@rcmcon.com>, rmartin@rcmcon.com (Robert Martin) writes:
|> clamage@Eng.Sun.COM (Steve Clamage) writes:
|>
|> >>7. When is C++ going to deliver on reuse?
|>
 I think, reuse will get popular only than, when we start thinking about the API, the
 interface between foreign code and your own code. If this interface is simple and
 documented, the code will be reused. There are examples of such interfaces:
 - Thomas Boutells gd-library for gif.
 - the sipp- library for 3d-graphics.
 - the motif toolkit.
 - the Graph3D C++ library, if there would be more documentation about one special
   class.
 If the interface is complex, unlogical, weird and/or undocumented the hurdle for reuse
 is very high. You are than required to figure out, what the designer/implementor
 thought as she/he commited that library. If you are lucky, there is some documentation
 and some sample code which shows how things should be used. But more often than not
 you have only some obfuscated code and that is useless, even if it is C++.
 Especially major class libraries try to achieve general usability by extending the
 interface to a level where it gets hard to understand.

 May be, things are to complex to be covered by simpel interfaces. But than I want
 portable, standardized libraries for the most common programming tasks:
 GUI,database, RPC etc so that I have to climb the leraning curve only once.

 In short, I want two things:
 - start thinking about programmer friendly interfaces.
 - Only ONE learning curve.

     Mark Koennecke






Author: rmartin@rcmcon.com (Robert Martin)
Date: 1995/04/25
Raw View
clamage@Eng.Sun.COM (Steve Clamage) writes:

>>7. When is C++ going to deliver on reuse?

>That pretty much requires a standard first, which is in progress.

It also requires that engineers learn and apply the principles of OOD.
No language can guarantee reuse.

It is not a laguage that will deliver on reuse, it is engineers making
proper use of a language.  I have seen substantial reuse in C++.

--
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++