Python was designed (was Re: Multi-threading in Python vs Java)

Peter Cacioppi peter.cacioppi at gmail.com
Thu Oct 17 02:49:02 EDT 2013


I don't know if I want to step into the flames here, but my understanding has always been that in the absence of polymorphism the best you can do is "object based" programming instead of "object oriented" programming.

Object based programming is a powerful step forward. The insight that by associating data structures and methods together you can significantly improve readability and robustness. 

Object oriented programming takes things further, most significantly by introducing the idea that the object reference you are referencing might be a run time dependent sub-class. Even Python, which isn't strongly typed, manages polymorphism by allowing the self argument to a sub-class of the method class.

There are many wonderful examples of object based programming in C. I believe VB (not VB.net, the older VBA language) is object based but not object oriented. 

True object oriented programming seems to require proper support from the language itself, because the run-time resolution of the "this/self" reference needs specific constructs in the language. 

Bear in mind that my usual disclaimer when wading into the flames like this is to quote Randy Newman ... "I may be wrong .... but I don't think so!!"





More information about the Python-list mailing list