[comp.lang.lisp] object-oriented superiority

kelvin@cs.utexas.edu (Kelvin Thompson) (01/11/90)

Hi.  Does somebody know of a reference that talks about how much
object-oriented extensions to languages help programmer productivity?
I'd like something that talks about generic object-oriented extensions
to any language.  Something that includes some psychology-style
experiments to back up the assertions would be extra-nice.

I've used object extensions to C and Lisp before, but I'm not a
super expert on the topic.

Please e-mail to me since I don't read this group.  Thanks in advance.

-- 
-- Kelvin Thompson, Lone Rider of the Apocalypse
   kelvin@cs.utexas.edu  {...,uunet}!cs.utexas.edu!kelvin

cdwilli@kochab.cs.umbc.edu (Chris Willianson (Guest of Al)) (01/15/90)

In article <7547@cs.utexas.edu> kelvin@cs.utexas.edu (Kelvin Thompson) writes:
>Hi.  Does somebody know of a reference that talks about how much
>object-oriented extensions to languages help programmer productivity?
>I'd like something that talks about generic object-oriented extensions
>to any language.  Something that includes some psychology-style
>experiments to back up the assertions would be extra-nice.
>
>I've used object extensions to C and Lisp before, but I'm not a
>super expert on the topic.
>
>Please e-mail to me since I don't read this group.  Thanks in advance.
>
>-- 
>-- Kelvin Thompson, Lone Rider of the Apocalypse
>   kelvin@cs.utexas.edu  {...,uunet}!cs.utexas.edu!kelvin

For thos who do read this group...

I found a book by Brad Cox (if memory servers me, he invented
Objective C) to be helpful in figuring out the hoopla over
object-oriented programming.  The name of the book is (what else?)
"Object-oriented Programming," published by Addison-Wesley, 1986.

In the book Cox discusses the technical reasons of why object-oriented
programming increases both the flexibility and the integrity of
programs.

Regarding flexibility, he points out that programs are "brittle,"
breaking at even the slightest change, and he makes the case that
object-oriented programming lets programs "bend" without always
breaking.

He also argues that object-oriented programming forces clean
interfacing to program data (encapsulation, in his words); it results
in making code more trustworthy.

Cox includes descriptions of several object-oriented languages
(Smalltalk, Objective C, et. al.); he also describes the results of
his comparison of standard ways of programming to object-oriented
programming, including figures and charts addressing number of lines
of code, efficiency of execution, and other things of interest to a
programmer.

There's alot of talk about reusing code nowadays; at the time of my
reading, I found Cox's idea of "software ICs" to be a worthwhile
notion (that is, standard units of code that could be neatly packaged
then pulled of the shelf for use, like our now familiar libraries of
code).

				Chris Williamson