Does Python really follow its philosophy of "Readability counts"?
kyrie at uh.cu
Wed Jan 14 17:24:12 CET 2009
On Wednesday 14 January 2009 12:57:42 am James Mills wrote:
> 1. Quit while you're ahead.
> 2. OOP is encapsulating data and functionality into a single grouping
> 3. Other features more recently developed by OO languages such as
> Polymorphism, Access Control (a type of encapsulation), Inheritance
> and Multiple Inheritance are all irrelevant and OO languages either
> implement all or a subset of these features and each do so
To further your point, I'd say that python _doesn't_ have polymorphism. It
doesn't need it - the natural, expected, "OOP" behavior is always there, you
cannot break it. A dog will always bark and a cat will always meow,
regardless of the context and the inheritance relation between a cat and a
dog (there should be none, but I couldn't think of a better example than the
broken 'a cat is a dog'... please bear with me). If the very concept of
polymorphism is superfluous in python, would that make python 'less' OOP?
Judging by this thread, I'd guess that Russ believes that languages like C#
are closer to his OOP ideal... and guess what, C# not only needs a word for
the concept of "objects should behave as you expect them to behave - we want
no barking cats, ever", but it is even not polymorphic by default (the
cursed "virtual" keyword).
Luis Zarrabeitia (aka Kyrie)
Fac. de Matemática y Computación, UH.
More information about the Python-list