[comp.object] Any real evidence for OOP benefits?

UH2@psuvm.psu.edu (Lee Sailer) (02/03/90)

In a previous post on this thread, Dan Weinreb describes the typical
empirical research design for testing the benefits of OOP, create
matched groups of programmers and give them projects of significant size.
As he points out, it is very expensive to do this type of study.

Nonetheless, such studies have been done on other similar topics, usually
using volunteers donated by local industry.  So for example if every
company in Silicon Valley would donate one programmer for a week (not
too burdensome per company, I think) then some researchers could create
a project, collect the data, subject it to the usual statistical hocus
pocus, and get tenure.

On the other hand, since this isn't going to happen anytime soon, what are
the alternatives.  One is to use cheaper programmers (students, usually) and
smaller projects.  Another is to wait and let the market do the experiment.
OOEs (Object oriented enterprises) might blow the rest away.

Third, is to admit that the empirical approach is beyond our reach, and
thus rely on the perhaps inferior but best remaining technique, rationalism.

Weinreb says that he can tell OOP feels really powerful to him.  I have
the same feelings.  So do lots of folks.  A few, but not many, people
who have learned OOP and used it to write programs don't feel the same
way.  This is empirical evidence of an indirect nature, but empirical
evidence nonetheless.

In short, the only evidence for or against OOP that most of us can
afford is the opinions of the best minds we can find.  Isn't this
(gasp) Pournelle's Rule---find a person you think you can trust, and
then do what he or she tells you?

horstman@sjsumcs.sjsu.edu (Cay Horstmann) (02/04/90)

What is the alternative to OOP? Deliberately NOT using OO techniques?
Oops, that struct over there looks too much like an object. Better rewrite
that code...

OO is a technique, not a religion. It is one tool in the toolkit of the
enlightened programmer who is going to use it when it is appropriate. 
To come up with a dumb analogy, it is like recursion. Sometimes it works
great, sometimes not. Have you seen people run seminars on the weighty
question whether the benefits of recursion can be measured?

Ok, now suppose we do "measure" the benefits. We teach one group of
programmers about OOP, when it is useful and when not. And then we have
them and a control group work on a problem. How can we insure against
the fact that the people who didn't flunk out of the OOP course are
probably smarter/more alert than the control group? At any rate those
people will have had some extra mental stimulation just before they
started the project. What kind of project will be selected? It would be
interesting to select one where OO techniques could have no earthly 
significance, but who is going to do that? No, they'll pick some project
where OO will probably make some difference. And, SURPRISE, the OO group
will be the better one. 

That is the kind of stuff I could get tenure for.

Cay

jimad@microsoft.UUCP (JAMES ADCOCK) (02/10/90)

In article <1990Jan31.053709.5741@odi.com> dlw@odi.com writes:
>In article <25C3AC55.8379@paris.ics.uci.edu> crane@paris.ics.uci.edu (Steven N. Crane) writes:
>
>   Everyone's heard of the alleged benefits of object-oriented
>   programming (improvements in reusability, productivity, buglessness, 
>   maintainability, etc.).
>
>   I believe it myself. (I can just feel the power when I use C++ :-). 
>   But does anyone have any references to actual *empirical* quantitative 
>   studies which have actually *measured* the extent of these benefits? 
>   Studies with real *numbers* in them.

Well, here's a simple, not-very-profound numerical study I did *just*
this afternoon: number of articles in computer journals referencing
the "object oriented" buzz-phrase.  Each number represents number
of articles during the previous year.  Total number of articles in
each time period was fairly constantly about 60,000.

Oct 88	 415
Jan 89	 516
Mar 89	 622
Jun 89	 806
Sep 89	1057
Jan 90	1289

Interpretation is left to the reader.  I don't know about you, but I feel
like I'm falling a *little* behind in my "object oriented" readings.  Of
course my cat *is* object oriented.  And I don't even *have* a cat.