[Chris Carlen] > From what I've read of OOP, I don't get it. I have also found some > articles profoundly critical of OOP. I tend to relate to these > articles.
If you want to know the truth, and opt to neither trust a friend or colleague, nor spend the time to try it yourself, here's a third way: Compile Qt (a toolkit like wx or Tk) and watch the list of source file names scroll past. Beautiful! Perhaps there's some better way of doing GUIs, but watching that list of source files, one realises that that's an academic question: practically, OOP fits GUIs -- and much of the other code in Qt -- so well, and so much effort has been put into these GUI toolkit libraries, that one would be a fool not to use them right now. A somewhat separate issue: You'd also be a fool not to apply OOP to the GUI code *you* write *using* one of those OOP GUI toolkits. Though you won't learn that all at once or without conscious effort, that's not an obstacle with Python -- you can start small. Of course there's some level of experience / project size / project longevity / number of people involved below which dashing it off using what you know right now will be quicker, but the break-even point is not far off in your case, I think. [chris] > However, those articles were no more objective than the descriptions > of OOP I've read in making a case. Ie., what objective > data/studies/research indicates that a particular problem can be > solved more quickly by the programmer, or that the solution is more > efficient in execution time/memory usage when implemented via OOP > vs. procedural programming? [bruno] > None. Definitively. wrt/ developper time and memory, it's mostly a > matter of fit-your-brains. If it does, you'll find it easier, else [...] How do we have confidence that that's true without doing experiments? AFAIK, only a few such experiments have been done (not counting research that does not meet basic standards of competence or is not peer-reviewed). I think some programming techniques are simply better than others for certain tasks, even when including the variation in people's abilities (but excluding the cost of people learning those techniques, which can of course be significant). Of course, measurement is tricky because of differences between programmers, but it's not impossible. John -- http://mail.python.org/mailman/listinfo/python-list