[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