Not fully OO ?

Craig Allen callen314 at
Tue Sep 23 03:34:46 CEST 2008

It is clear to me that Python is a multiparadigmed object oriented
language. It is clearly possible to write procedural code... that is,
Python does not force object oriented syntax or concepts on you and
insist you define everything in such a structure.  Is the OO it allows
full OO, I think so, and the only way to argue otherwise I think is to
point out that the "main" function is just the module level itself,
and is not part of an object... which is just the sort of pedantic
things purists like to hang their hat on.

personally I am very much the sort that believe in "trust the
programmer" and likes languages that provide a freedom to use various
complementary paradigms, in the style of C++.  Compared to that, it's
clear that Python is quite object oriented even in the sense of
drawing you to build things in object oriented ways... just not
strictly requiring it.  Which is good, it allows some interesting
patterns which play quite well with object oriented desirgn (i.e.
module as singleton)... in fact, that plays so well as a singleton,
some would say the module is just an object anyway, and indeed, the
intepreter tends to agree.

So python may turn out to be pure OO, where Objects SIMULATE
procedural programming paradigms and allow that paradigm as a result,
on top of OO.


More information about the Python-list mailing list