Message-ID: <32D54B1B.63F@dave-world.net>
Date: Thu, 09 Jan 1997 13:46:35 -0600
From: Tim Ottinger <tottinge@dave-world.net>
Reply-To: tottinge@dave-world.net
X-Mailer: Mozilla 3.0 (Win95; I)
MIME-Version: 1.0
Newsgroups: comp.object,comp.lang.c++,comp.lang.smalltalk,comp.software-eng
To: Frank Westphal <fwestpha@puls01.desy.de>
Subject: Re: What is wrong with OO ?
References: <32D2AF84.3BEB@rase.com> <5b26e8$2hn@dscomsa.desy.de>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: m9cmi.dave-world.net
Lines: 77
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!csulb.edu!news.sgi.com!news.sprintlink.net!news-peer.sprintlink.net!newsfeed.internetmci.com!nt.dave-world.net!m9cmi.dave-world.net
Xref: glinda.oz.cs.cmu.edu comp.object:59575 comp.lang.c++:239314 comp.lang.smalltalk:48806 comp.software-eng:52315

Frank Westphal wrote:
> Consumers are in great need of standard parts, prefabricated
> interchangeable components that are more economical and more robust
> than fabricated from first principles by themselves.
> 
> It's the ease of duplication that makes distribution of sufficiently
> well tested, packaged and documented software components nearly
> impossible *today*.

Actaully, I'm of the belief that it's the legal *impossibility* of
distribution which stops us. When I was a consultant before, my
customers
wanted to own and control every line I wrote for them.  I could not 
take the reusable parts home with me and use them for any of their 
competitors.  Nor could I share them with my fellow programmers. This
was something they felt would ensure their own competitive advantage.

> I ask you why do programmers still don't care about reusing other
> people's code.

I think most programmers care, but either can't find it, aren't allowed
to purchase it, or aren't allowed to download it freely.  I don't know
the "most programmers" you are talking about here.

All of the resistence to code reuse I've run up against has been at
higher levels. In companies I previously worked for, I've been pretty 
lucky about being allowed to bring in PD and commercial code, but I
have heard "why don't we just build our own" coming from more managers
than developers.

The barriers to reuse in most projects I've known are:

  1 - Can't locate suitable code. We know it's out there, but it's
      probably bound up in a NDA somewhere. Worse, we wrote it for
      a customer, and it's bound up in an NDA, so we can't reuse it
      for our own next customer.

  2 - Can't find affordable code to reuse. Some component costs are
      simply too far out of reach. You've seen components that cost
      over $2,000 *per developer*!  Try stocking your 200-member 
      development with that tool, and you'll hear from corporate HQ
      in a flash!

  3 - Distrust of freely available software. I found that Doug Schmidt's
      ACE wrappers is one of the best frameworks for unix servers from a 
      practical as well as a teaching standpoint. However, there are
      people who believe that there's IBM, Microsoft, and some guys
      working from their garage who may be out of business tomorrow. 
      Then there's a "you get what you pay for" attitude.  

Otherwise, we'd probably be reusing left and right. I think it's a
management thing, rather than a programmer thing.  

I think that you are beating yourself up needlessly in the above
paragraphs, or otherwise we just aren't sharing a common experience.

This part, however:

> The idea about a well organised marketplace for distributing reusable
> s/w components of various granularities surely reflects the way we
> should think about the future of software engineering.

is right. If the "community of practice" were such that we could
leverage work we've already done for customers, we'd have quite a
lot of assets ready and waiting on us. 

So, how can we change modern development contracts to allow reuse after 
delivery? How can we organize and categorize the libraries for easy
location? How can we price these so that they're in reach, but not 
prohibitive?  This is almost entirely a matter of marketing and
contracting, not development.  But someone has to start it....

-- 
-------------------------------------------------------------
Tim Ottinger      | Object Mentor Inc. | OOA/D, C++, more.. 
tottinge@oma.com  | http://www.oma.com | Training/Consulting
-------------------------------------------------------------
