On Thu, Aug 22, 2013 at 10:12 AM, Matthew Ngaha <chigga...@gmail.com> wrote:
> On Thu, Aug 22, 2013 at 2:52 PM, Chris Down <ch...@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
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor