The Python standard library and PEP8
Steven D'Aprano
steven at REMOVE.THIS.cybersource.com.au
Mon Apr 20 04:33:09 EDT 2009
On Mon, 20 Apr 2009 19:15:51 +1200, Lawrence D'Oliveiro wrote:
> In message <mailman.4178.1240170419.11746.python-list at python.org>,
> Christian Heimes wrote:
>
>> Neither Java nor Python are pure object oriented languages.
>
> That's like saying the Soviet Union was never a pure communist country,
> or that the US is not a pure capitalist country. "Pure", it seems, can
> be endlessly redefined to exclude any example you might care to name,
> that you don't happen to like.
> In short, it's a meaningless adjective.
Not in the least.
There's an accepted definition for "objected oriented programming
language": a language which provides "objects", which are constructs
encapsulating both data and routines to operate on that data in a single
item.
A "pure" OO language is clearly a language where *everything* is
performed using OO techniques on objects. That's in contrast to impure OO
languages like Java, which exposes ints and floats as machine primitives,
and Python, which allows and encourages non-OO techniques. Purity in
object-orientivity is not necessarily a good thing.
In fact, we don't even need to know what a "pure" OO language is to know
that Python isn't one. All we need is one feature that all reasonable
people agree isn't OO, and we know that Python isn't pure OO. Since
Python includes such functional tools as map() and reduce(), and there is
no such collection.map() method, we know that Python isn't purely OO.
Waiting-for-somebody-to-claim-that-map(alist)-is-object-oriented-ly y'rs,
--
Steven
More information about the Python-list
mailing list