On Thu, 3 May 2001, Professor Russel Winder wrote:
> Derek,
>
> > Ugh, OO design. With so many competing ideas and each language
> > having different ways of structuring classes and inheritance, which seems
> > to influence so many peoples views on how to do it, I am staying well away
> > from this issue.
>
> I think this is a bad idea. Love it or hate it, OO represents the current
> abstraction paradigm of general purpose programming. The question is whether it
> is good or not and this needs proper experimentation. Currently the only
> evidence we have is advocacy and the apparent massive increase in productivity of
> programmers supported by Java. We have already had the debate about advocacy
> research but I don't know of any actual data (other than anecdotal) on the
> cognitive and productivity benefits (or otherwise) of procedural, structured,
> declarative, ADT-based and OO programming and programming languages.
>
I come in praise of OO. I've been teaching Eiffel for 10 years
now, and it has had a huge effect on the way I think about both software
and knowledge. My approach is that OO gives a finer grain size than
procedural; a plan has its actions distributed among many objects, so each
piece is smaller and more likely to be understandable and correct, and the
location of code can be specified by its goal and class, so these become
indices into the code (see my paper on teaching OOP for more
details). This analysis can be done independent of any language, but it is
easier to implement in some languages than others.
I believe that Bertrand Meyer (Mr. Eiffel) has the right
key: reuse. I approach OOD as the problem of identifying the right pieces
(routines, attributes) and placing them in the right class so that
nothing is ever repeated. I see this as the right approach because it is
almost knowledge engineering: define a piece of knowledge once and access
it from then on. Eiffel doesn't completely do this, but gets closer
than any other language I know. This seems to me to be the right approach
to (someday) automate design using knowledge retrieval.
I guess I evaded the question about evidence of benefits,
right? There is that paper about a German banking system in the special
issue of HCI on OO, where the OO approach revived a failed
"procedural" project ...
Rob Rist
- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED] unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED] help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]