On Wed, Mar 12, 2008 at 5:50 AM, John Posner <[EMAIL PROTECTED]> wrote:
> IMHO, object-oriented programming is like most technologies -- it was > developed as a solution to perceived problems. Newbies, who haven't > perceived the problems, will have trouble appreciating the solution. > > -John Fortunately, in elementary mathematics, we have "types of object" (e.g. rational numbers) very amenable to object oriented treatment. There's no shortage of "objects" we might model (vectors, integers modulo N... polynomials). Python itself is also more understandable if you have a generic appreciation for "dot notation", which also gets us to a classes 'n objects discussion, i.e. what does dir('hello') really show us? The perceived problem, to which OO was (still is) a solution, is that procedural programming, even when structured, is too difficult, too awkward. Computer code should more closely mirror the the knowledge domain. And what knowledge domain has no objects? Hard to find, given we already think in terms of "things" and their relationships, their behaviors. I'm already doing Dog and Monkey classes on the first day, with 8th graders sometimes (adults other times). They get it. My belief is CS courses postpone classes 'n objects for a whole year because that's how an earlier generation of coder learned 'em i.e. late in the game. So these days they're considered "advanced" (and *there are* advanced aspects no question -- not saying everything OO is equally newbie accessible). I don't think it'll stay that way in every curriculum, especially those that tackle Python. Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig