[Tutor] global variables

Andy McKenzie amckenzie4 at gmail.com
Thu Aug 22 16:59:00 CEST 2013


On Thu, Aug 22, 2013 at 10:12 AM, Matthew Ngaha <chigga101 at gmail.com> wrote:

> On Thu, Aug 22, 2013 at 2:52 PM, Chris Down <chris at chrisdown.name> wrote:
> >I would doubt that anyone has told you "don't ever use classes", because
> > that's nonsense; you've probably misread a dissuasion from that path in a
> > single instance as applying more broadly than was intended.
>
> I am being totally honest here. I was very confused at the time and i
> said i didn't agree because it's what i had put so much effort into
> learning. They went on to say at some well known Python talks speakers
> have stated why using OOP (especially inheritance, but not excluding
> any others) is very bad design and the same thing can always be
> achieved without it. To be clear they said every use case OOP is the
> worst option. I asked what about GUIs which their design is strongly
> based around OOP? and they sad GUIs are badly designed to begin with
> so it proves the point about OOP.
>

OK, I'm not a fantastic programmer in any language, but this strikes me as
someone with an axe to grind giving bad advice to new programmers.  Here
are a few of the things that I see wrong with their statements:

1) For almost every option in programming, there's at least one case where
it's a good idea, design-wise.  Saying "in every use case OOP is the worst
option" is absurd.  Of course there are cases where it's not the worst
option.  There are also cases where it is.  That goes for just about
everything.

2) If they think OOP is always a bad idea, WHY are they using Python?
Isn't object orientation kind of the whole POINT of Python?  From python.org:
"Python is an interpreted, object-oriented, high-level programming language
with dynamic semantics."  If they honestly believe that object oriented
programming is always a bad idea, they really need to pick a different
language.  Perl, maybe, although even in Perl people are doing object
oriented work.  I have trouble believing that someone who believes OOP is
inherently bad is a current high-level programmer in Python, unless they're
trapped in a job they don't want to be doing.

3) Bad design in a product does not mean bad design in the tool used to
build it.  I've built some really terrible things out of wood with really
nice tools.  I've watched people use really nice drafting tools to design
houses that would have been unusable for living in.  Saying badly designed
GUIs prove that OOP is bad is, frankly, illogical at best and stupid at
worst.

I strongly suspect that either the speaker they were listening to wasn't
clear, or they weren't clear.  Either that, or the speaker or whoever you
were talking to mis-represented their ability level.

Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130822/f47d7a51/attachment-0001.html>


More information about the Tutor mailing list