On Mon, May 30, 2011 at 6:17 PM, Kipper Timmins <kipper_timmins at live.co.uk> wrote: > Hi all, > > I was wondering if any of you could offer your opinion with regards to what Object Oriented Programming actually is. Most developers will know how to use it, however it seems defining it is full of a lot of different opinions. > It's a concept that too often allows really great programmers to cease being engineers and start being artists. It excuses elitism between senior and junior programmers, and a wedge between senior programmers and management. Our team is very lucky. But in most teams I have observed, software developers are no longer interested in the cost-benefit analysis that engineering disciplines are supposed to have at their core. Instead, things are the right way because they are the right way. That is art. This discussion of the definition of OOP is a great example. While at its root, OOP does of course tackle this very cost-benefit analysis, the discussion has evolved to the point where we have become so divorced from that analysis that it's rarely acknowledged as the original goal in the first place. Instead, the goal has become to know that "right" definition of this or that, or to know the "right" design pattern for this situation or that situation. This leads to many hours spent discussing, whiteboarding, arguing, and finally deciding on the right this or that, and those hours destroy the very benefit that would have otherwise been gained. So, I realize I am not answering your question, but I do suggest that when you get your answer, you always keep in the back of your mind that that all of these techniques have been constructed by very smart ENGINEERS who have optimization of cost-benefit as a goal. In other words, a good senior software engineer earns that title when he or she decides, say, the team makeup is such that we should not use the double-checked locking design pattern, even if that is the "right" prescription for the current technical malady. -- Matt Warden Austin, TX, USA http://mattwarden.com This email proudly and graciously contributes to entropy.