IsPython really O-O?

Tim Hammerquist tim at vegeta.ath.cx
Sat Nov 10 22:47:19 EST 2001


<kentsmith at dxsys.com> graced us by uttering:
> A Smalltalk guru in our organization looked at Python last weekend (after I
> had made a big scene saying that it may be a solution to some of our
> cross-platform issues) and came away saying that it was no more
> object-oriented than Java.

Well, if he didn't think Java was OO, he shouldn't bothered looking at
Python.  Besides, no matter how brilliant the programmer, in my
experience, a Smalltalker will never acknowledge anything except
Smalltalk as an OOP.  Don't waste your breath. =)

(For the record, I was very impressed with Smalltalk and very much
enjoyed using it.  I like it, but it wasn't the ideal solution to the
problem I had; of course, neither is Python all the time...)

> (I thought the ZODB business looked great).
> Is my friend right?  Is Python not "really" appropriate for
> true O-O applications,

A majority of people on _this_ NG will tell you Python works quite well
for large OO solutions.

A major problem "pure" or "true" OO advocates have with Python et al. is
data hiding.  Encapsulation (at least in the Python-intended sense) is
implemented, but with enough hacking, a coder _could_ access an object's
private data at runtime.  This is a serious offense to many OO radicals,
esp. Smalltalkers.  OTOH, Python implements a Smalltalk feature: that of
an object's _class_ being a type of _object_ as well. (Perl does _not_
do this; Perl "packages" are simply namespaces adhocked into a var.)

I have no wish to draw this out, merely to bring some (hopefully)
unbiased data to the discussion.  If you think Python might help you,
and you can take it for a test drive, try it.  _Then_ decide.

HTH
Tim Hammerquist
-- 
Do "grep UTF toke.c" and all will become clear.  (Or as clear as anything
ever is in toke.c.)
             -- Larry Wall in <199909091918.MAA15218 at kiev.wall.org>



More information about the Python-list mailing list