>That's where I am being confused. > >Graphical programming has nothing necessarily to do with a GUI, so >I am confused why we are discussing them in any way together.
The key word is "necessarily" and I completely agree. I was mentioning several kinds of programming. GUI programming *is* graphical, in the sense that "G" stands for "graphical". It so happens the GUI stuff is almost always OO (I talked about that in terms of the Nokia 60 cell phone). I have very limited experience with OpenGL (or PyOpenGL), but yes, the VPython stuff is obviously OO. POV-Ray isn't so obviously, if at all -- but if we write a Python layer on top of POV-Ray (what I like to do), then it makes sense to use OO. > I don't see GUI programming as a necessarily appropriate > environment to introudce OOP. It's certainly the way a lot of people come into contact with it. But you may be right. I think it's possibly useful as an introductory environment, but it could lead to that problem of not understanding OO concepts generically enough, and getting confused about the difference between GUI programming and OO. That seemed to be a confusion we were worried about in this thread. > But using the metaphor of geometric objects already *is* the > canonical way of introducing OOP. Yes, could be. Another canonical metaphor is animals. The mammal class is subclassed into dogs, cats, humans and so on. I've also seen telephones subclassed as fax-phones, cell phones etc. (all types of phone). > What VPython, for example, allows is pursuit of the canonical > methodology, but cutting directly to an actual implementation, > rather than working on "as-if" basis. We wee the triangle, derived > from our more general geometric object, rather than (or in addition to) > only seeing a prompt message saying "I am now a triangle". > > Hard for me to see anything but upside in this approach. I'd have to see you proposal fleshed out in more detail. What is the triangle a subclass or superclass of? What are its methods and properties? And what is the VPython framework you'd use to introduce OO? Kirby -------------------------------------------------------------------- mail2web - Check your email from the web at http://mail2web.com/ . _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
