[Edu-sig] Explaining Classes and Objects

Danny Yoo dyoo at hkn.eecs.berkeley.edu
Tue Jun 14 19:26:13 CEST 2005



> ps -- i am not entirely sold on oo programming.  clearly it is the
> correct way to model certain problems, but a more functional approach
> seems better suited to other kinds.
>
> I think teaching TDD is more important than OO these days.  Am I only
> reflecting my own loves and predjudice?

Hi Laura,

If so, it's a prejudice that's shared by a few other people.  *grin*

Oleg Kiselyov has a paper called "Subclassing errors, OOP, and practically
checkable rules to prevent them":

    http://okmij.org/ftp/Computation/Subtyping/

where he brings up the idea that subclassing can be tricky, and that OOP
in general can be more complex just because one has to hold a class
hierarchy in one's head to know exactly what's going on.

One of the references in his paper is also interesting:

    http://research.microsoft.com/Users/luca/Papers/BadPropertiesOfOO.html

The attributes of a good "engineering language" in Luca's terms might not
necessarily be an ideal "teaching language".  But I think it's useful to
read some of the criticism from the procedural side of things, to better
understand the strengths and weaknesses of OOP.

Best of wishes to you!



More information about the Edu-sig mailing list