Python evangelists unite!

Peter Milliken peter.milliken at gtech.com
Thu Nov 29 18:18:00 EST 2001


Start avoiding him :-)

There is no real justification that works for these "features" of python -
they can be convenient sometimes but generally violate a lot of "standards"
considered good practice for general software engineering (first lesson I
learnt was don't write self modifying code! :-)).

I use Python as a good, quick and dirty hacking language. For real (read
production) stuff that I expect a customer to run or will require more than
a single person working for a couple of hours, I look elsewhere :-). Sure
there are examples of Python being used for "large" jobs - and very
successful they have been too - but these people are masochists  (IMO) :-).
They could have been more productive with other languages that provide
better support for generic software engineering principles/standards.

There, that should bring the 'vangelists out of the woodwork! :-) It's just
too easy, they rise like starving trout - each language has it's strengths
and weaknesses. Python has some very nice features, I use it a good deal.
But it definitely has its place!

In the meantime, my advice is don't get "emotionally" hooked into the
language. Analyse its strengths and weaknesses, consider other languages and
their strengths and weaknesses and then you can hold an intelligent
conversation with another programmer! :-)

Peter

<brucehapman at hotmail.com> wrote in message
news:baf2f841.0111291428.591f515 at posting.google.com...
> Okay, I was extolling the benefits of Python to a friend of mine. He
> took strong exception to Python's OO model. <here we go again...>
>
>      ME: Python's great--you can add members to instances OR classes
> on-the-fly!
>  FRIEND: Why would you want to do that?
>      ME: Uh...
>  FRIEND: Besides, that's awful Object Orientation. If I start adding
> attributes to an instance of a class, it ceases to be an instance of
> that class. If I create a bunch of instances of the same class, they
> should be the same; they should have the same members.
>      ME: Yeah, but with dynamicism, I can add a new pane to a GUI
> while it's running. I just change an instance to include a new pane,
> and...
>  FRIEND: That's pretty cool, but it's not a reason, in and of itself,
> to make a language so dynamic. There must be some advantage to being
> able to add attributes during runtime. What are they?
>      ME: Uh...
>  FRIEND: And another thing! What's with encapsulation? There's no
> private!?!?!?
>      ME: <Screaming and running for cover>
>
> So, I need some help. I've checked out c.l.p and some on-line
> articles, and I just can't find good practicle examples of a program
> that adds members to instances (or classes) at runtime. Anybody got
> any? I don't want to have to start avoiding my friend....
>
> TIA,
> b.





More information about the Python-list mailing list