Bill Allen wrote:
I know that Python not only supports OOP, but is fundamentally OOP in its
design.   Just in using the language and standard library, that much becomes
obvious.   However, I do wonder a bit about the practice I have seen of some
Python programmers to implement relatively short bits of code, that would be
quite simple using functions and procedural code, with classes.   Some such
code appears far more complicated than the job at hand really demands.   I
know there is not always a single right or wrong way of accomplishing
programming task, but why implement using classes unnecessarily?  When is it
necessary?  When is it best practice?  I'll freely admit that I do not come
from an OOP programming background, so designing classes is not my first
impulse when writing code.  Am I missing something?


No, I don't think you're missing anything. Too many people come from Java, where (virtually) everything *must* be a class. There's a wonderful essay about the "Kingdom of the Nouns":

http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html

Don't get me wrong -- object oriented programming has much to say for it, but it's not the be-all and end-all of programming. Python makes it easy to mix imperative, object-oriented and functional programming idioms into the one program. (The only major idiom that Python doesn't support well is logic programming, as used by Prolog.)



--
Steven
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to