[thelist] Object Oriented Programming

Kipper Timmins kipper_timmins at live.co.uk
Wed Jun 1 16:31:41 CDT 2011


Hi Matt,

Thanks for your response. I can see exactly what you are saying and I agree 
with you, in a production environment being able to deliver efficient value 
should be at the heart of everything that is done and a artistic approach 
can certainly impede this.

I guess I should explain my motivation for trying to find out the finer 
details. Certainly it isn't to classify myself as elite, I work as a trainer 
and part of this is taking people who are new to OO and introducing it to 
them in a good concise way. This involves giving them a good explanation of 
OO to help provide guidelines for their developer skills so that they can 
reach a point where the hazy or grey area definitions don't really matter. 
In order to provide good solid foundations for them to build upon I think it 
is important to get them questioning the right things and not the wrong 
things. For example a discussion on the finer details of encapsulation 
whilst in the workplace is the wrong kind of questioning, where-as 
discussing scenarios based on how would we solve a problem is very good 
because it develops their problem solving abilities. To this end, I need to 
go the further distance to try and remove the need for them to have that 
discussion at the wrong place in time, else not talk about encapsulation at 
all which would be more a leap backwards than removing a barrier to 
learning.

Thanks again for the insight so far as I think you have really hit the nail 
on the head with what you have said and I hope the above can explain 
somewhat my reasoning for the discussion.

Cheers,

Kevin


-----Original Message----- 
From: Matt Warden
Sent: Wednesday, June 01, 2011 3:06 PM
To: thelist at lists.evolt.org
Subject: Re: [thelist] Object Oriented Programming

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.
-- 

* * Please support the community that supports you.  * *
http://evolt.org/help_support_evolt/

For unsubscribe and other options, including the Tip Harvester
and archives of thelist go to: http://lists.evolt.org
Workers of the Web, evolt ! 



More information about the thelist mailing list