From: Ari Lukumies <Ari.Lukumies@la.ccfo.carel.fi>
Subject: Re: Software reuse
Date: 1996/08/15
Date: 1996-08-15T00:00:00+00:00 [thread overview]
Message-ID: <32133648.4CBA@la.ccfo.carel.fi> (raw)
In-Reply-To: Dw3Asp.8HC@twisto.eng.hou.compaq.com
Bob Stout wrote:
>
>
> I heard a talk by Plauger once where he suggested there was a fundamental
> difference in mindset between the two types of programmers (this is true no
> matter what you call the two groups, applications vs. libraries,
> applications vs. systems, etc.) I tend to agree with this and believe it has
> a lot to do with an individual's most natural way of deconstructing a
> problem. The top-down people are apps programmers, the bottom-up people are
> library/systems programmers.
This is a very interesting problem that I've been wondering about for a long
time, since I've been working for years in (agreed, somewhat small) projects
involving 10 to 30 programmers. It seems that many programmers do not "see" that
some particular piece of code could be reused (when taken out of the current
context with perhaps some modification) and yet some do (there are not as many
of these people, though, it seems). It seems that this does not have anything to
do with the educational level, position or experience. One thing I've recognized
is that the people that write with reusable code in mind (even when they would
be writing a program to do something very dedicated) often (but not all of
them) play chess, too. So it might have something to do with pattern recognition
or something like that.
About the top-down (apps programmers) vs. bottom-up (lib/sys programmers), I
don't quite agree. I've seen many people start off with the general problem,
breaking it down to smaller pieces and resulting to well reusable code. Also,
I've seen many people starting with some small piece of code (reusable) and
building on top of it, still retaining as much reusability as possible.
A way I often use is to write a program and then go through it to find common
parts (algorithms, places that could be generalized etc) and then rewriting
these. It's a little more work at first, but as time goes by, it'll cut down the
need of rewriting tremendously. (But then again, I'm too lazy to rewrite
anything so I try to make everything as general as possible :)
Finding out why these distinguished groups of people are distinguishable would
result to better ways to divide the work between people (resource allocation).
I've seen some projects where the writing of common parts were given to people
who didn't have the "insight" to do it properly, or where some people able to
write reused code where given tasks that did not need (or needed very little)
generalization. This always slowed the projects down somewhat. As a
designer/programmer/analyst and teacher of computing and programming, this
problem is very close to my heart, not to mention that it might add something to
our understanding about how a human mind works. I think there must be many
people with many ideas about this out there. Am I correct?
Later,
AriL
--
All my opinions are mine and mine alone.
next prev parent reply other threads:[~1996-08-15 0:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-08-12 0:00 Software reuse P. Cnudde VH14 (8218)
1996-08-13 0:00 ` Erik Jessen
1996-08-13 0:00 ` Bob Stout
1996-08-15 0:00 ` Ari Lukumies [this message]
1996-08-15 0:00 ` Bob Stout
1996-08-16 0:00 ` Steve Heller
1996-08-19 0:00 ` Stephen Baynes
1996-08-19 0:00 ` Bob Stout
1996-08-14 0:00 ` Simon Davidmann
1996-08-14 0:00 ` Simon Davidmann
1996-08-13 0:00 ` Ted Dennison
1996-08-14 0:00 ` Stephen Baynes
-- strict thread matches above, loose matches on Subject: below --
1987-06-25 17:32 Software Reuse Dennis Doubleday
1987-06-18 16:55 munck
1987-06-17 11:43 D. Schimsky
1987-06-16 15:14 VAXTSD::SCHILLING1@atc.alcoa.COM
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox