OO Design induces an existential crisis
- From: kj <socyl@xxxxxxxxxxxxxxxxx>
- Date: Wed, 6 Jul 2005 16:24:56 +0000 (UTC)
I have been programming (mostly procedural stuff) for almost 15
years. I enjoy programming, take it seriously, and by general
estimation I am quite good at what I do.
Of these 15 years, I have spent about 7 years trying to train myself
to do OO programming. I have no problem with *using* pre-existing
classes, and even extending them. Similarly, I am comfortable with
the *principles* of OO design. I have studied the GoF book carefully,
as well as other less famous books on OO design.
Still, when it comes to OO *design* I absolutely *suck*. I takes
me so long to design anything that I often abandon projects for
lack of time or loss of interest. Even when I complete a project
involving OO design, the outcome is puny and incommesurate with
the enormous effort invested. I often wonder whether the promise
of future time savings (from ease of maintenance and refactoring)
are paid for many times over by the *huge* amount of time and sweat
that I have to put into my design phase.
I am so bad at this that I am seriously wondering what on earth
I'm doing in this line of work. As OO programming becomes more
widespread I find myself more and more in the bizarre situation of
being in a profession for which I have no aptitude whatsoever.
I'm like the proverbial silent film actor witnessing the birth of
the talkies. I seriously wonder if it's time for me to start
thinking of a different line of work...
My question is: how normal is this? Is OO design as horribly
difficult as I find it? Or are there people who pick it up as
easily as I picked up C, say? (I was up-to-speed with C in a few
weeks; similarly for every other computer language I have taught
myself.) Is there a turning point when one finally "gets" OO
design? Should I consider some form of apprenticeship or internship
to learn from experts? (I've exhausted the book route, and I doubt
that classes will help, since I think my problem is not one of
understanding principles, but rather of applying them to real-world
programming tasks.)
I'd very much appreciate your thoughts on this.
kj
--
NOTE: In my address everything before the first period is backwards;
and the last period, and everything after it, should be discarded.
.
- Follow-Ups:
- Re: OO Design induces an existential crisis
- From: Nick Malik [Microsoft]
- Re: OO Design induces an existential crisis
- From: AndyW
- Re: OO Design induces an existential crisis
- From: paul campbell
- Re: OO Design induces an existential crisis
- From: Robert C . Martin
- Re: OO Design induces an existential crisis
- From: H. S. Lahman
- Re: OO Design induces an existential crisis
- From: Shayne Wissler
- Re: OO Design induces an existential crisis
- From: kj
- Re: OO Design induces an existential crisis
- From: Berislav Lopac
- Re: OO Design induces an existential crisis
- From: Alvin Ryder
- Re: OO Design induces an existential crisis
- From: krasicki
- Re: OO Design induces an existential crisis
- From: Rick Elbers
- Re: OO Design induces an existential crisis
- From: AndyW
- Re: OO Design induces an existential crisis
- From: Ilja Preuß
- Re: OO Design induces an existential crisis
- From: Phlip
- Re: OO Design induces an existential crisis
- Prev by Date: Re: OOP/OOD Philosophy
- Next by Date: Re: OOP/OOD Philosophy
- Previous by thread: Question regarding OOP and database access
- Next by thread: Re: OO Design induces an existential crisis
- Index(es):
Relevant Pages
|