Does Python really follow its philosophy of "Readability counts"?

Russ P. Russ.Paielli at
Wed Jan 14 05:54:41 CET 2009

On Jan 13, 7:50 pm, Carl Banks <pavlovevide... at> wrote:
> On Jan 13, 6:45 pm, "Russ P." <Russ.Paie... at> wrote:
> > On Jan 13, 3:07 pm, Carl Banks <pavlovevide... at> wrote:
> > > I've seen no evidence that any Python project is moving even remotely
> > > toward data encapsulation.  That would be a drastic change.  Even if
> > > it were only a minor change in the implementation (and it would not
> > > be), it would be a major stroke in the Python community.  It would
> > > basically cause a wholescale power shift from the user to the
> > > implementor.  As a user it'd be like the difference between living in
> > > a free democracy and a fascist dictatorship.
> > I just googled "object oriented principles." The first site that came
> > up lists four princicples:
> > - Encapsulation
> > - Abstraction
> > - Inheritance
> > - Polymorphism
> > The Wikipedia entry for "object-oriented programming" also lists
> > encapsulation as a "fundamental concept."
> > The first line on the site says:
> > "Python is a dynamic object-oriented programming language that can be
> > used for many kinds of software development."
> > How can that possibly be true if you see "no evidence that any Python
> > project is moving even remotely toward data encapsulation"?
> Is this seriously your argument?  Python must be moving towards data
> encapsulation because there is a line in that, if you
> blindly accept the Wikipedia definition as truth, indirectly implies
> that it is?
> Are you *seriously* arguing this?

Did you read what I wrote? If so, you apparently didn't understand it.

> The argument is too ridiculous to deserve a refutation, so I'll just
> point out two things:
> 1. Wise people don't believe everything that is written on Wikipedia.

Nice try at diverting attention. The issue is not Wikipedia. As far as
I know, the definition of OOP given on Wikipedia is not controversial
-- at least not anywhere but here.

> 2. The person who wrote that line in is a wise person.

Oh, isn't that wonderful. Wow, I sure wish I was wise like that

> > Semantics aside, I fail to understand your hostility toward a
> > fundamental concept of object-oriented programming. The difference
> > between a free democracy and a "fascist dictatorship"? Give me a
> > break!
> You know what?  Computer science buzzwords mean jack squat to me.  I
> don't give a horse's tail whether some people label it a fundamental
> concept of object-oriented programming or not.  I think it's a bad
> thing.  And it's a bad thing for exactly the reason I said: it gives
> the library implementor the power to dictate to the user how they can
> and can't use the library.  The cultural impact that would have on the
> community is far worse, IMHO, than any short-sighted benefits like
> being able to catch an accidental usage of an internal variable.
> Trust would be replaced by mistrust, and programming in Python would
> go from a pleasant experience to constant antagonism.
> No thanks.  "Software engineering" be damned.  Python is better off
> the way it is.

Now that's just classic. "We have Python and we don't need no stinkin'
software engineering." Well, you may not need it in your line of work,
but I need it in mine. In my line of work, Python is a tool, not a
religious faith.

More information about the Python-list mailing list