Syntax counts (was Re: Prothon Prototypes vs Python Classes)

Aahz aahz at pythoncraft.com
Wed Mar 31 15:20:24 EST 2004


In article <8ef9bea6.0403282102.632ae427 at posting.google.com>,
Hung Jung Lu <hungjunglu at yahoo.com> wrote:
>
>I often don't know how to take it when I see people talking about OOP
>by using definitions like: polymorphism, data hiding, etc. As if these
>definitions were something of utmost importance. To me, OOP is just a
>tool for factorizing code, just like using for-loops and using
>functions to factor out repetitive code. Polymorphism, data hiding,
>etc. are all secondary features: code factorization is the heart and
>soul of OOP. Class-based OOP is a way of factorizing. Prototype-based
>is just another way of factorizing, which seems to be more elegant:
>instead of two concepts (classes and instances), you unify them and
>have only one concept (objects). Moreover, in a prototype-based
>language like Io, even scopes and objects are unified.

Seems to me that Lisp is the counter-datapoint that disproves, not your
thesis at the theoretical level, but the ways in which your thesis gets
applied in practice.  From my POV, Python demonstrates that syntax
counts and that using different syntactical forms for different kinds of
factorization makes people enormously productive.

So saying "just factorization" misses the point IMO.  Factorization
needs to be elegantly defined and easy mechanisms for applying it
created.  What you call the secondary features are the user interfaces
for factorization and they are a necessary component for the successful
use of factorization.
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"usenet imitates usenet"  --Darkhawk



More information about the Python-list mailing list