On 2/21/06, Doug Hughes <[EMAIL PROTECTED]> wrote:
> You hit the nail on the head.  My path to OOishness started more than two
> years ago (after many many years of procedural programming).  I started by
> taking Hal Helm's class on Mach-II.  I figured after 3 days I'd know this
> stuff backwards and forwards.  (I consider myself to be reasonably bright
> too.)  So, after the class I quickly ran home and was absolutely unable to
> get anything done.  I spent the next two years trying and trying and trying
> again.

My OO history: I started back in January '92 by picking up C++ and it
was really painful. It took me at least a couple of years to get
comfortable with the OO styles of the day back then and they've been
evolving ever since and I've tried to keep up with it all. I picked up
Java in '97, I dabbled in Smalltalk on and off through the 90's and
these days I do my OO in ColdFusion mostly. Almost no one had heard of
design patterns back when I started doing OO - something we've all had
to pick up along the way. And idioms keep changing - and each language
has its own set of idioms which adds to the difficulty. I like to
think I'm a fairly competent OO designer these days but even so, it
was only last year that I 'got' inversion of control and why anyone
might program that way!

> Then, one day, I was working in Java (of all languages) and realized
> that (holy hell!!) I was applying OO unconsciously.  From that point forward
> my learning curve has returned to my pre-OO days.

That's pretty much how it is for most folks. One day, the lightbulb
goes on. That day can be weeks, months or sometimes years into the
learning process - depending on how you learn and what resources you
have at your disposal (training courses, a mentor, access to good OO
code examples, books - whatever suits you).

> As Sean frequently says, "This stuff is hard!"

Yeah, I had one guy get really irate at CFUN-04 because I told him not
to expect to pick up OO in "a few days" (his expectation was that he'd
read a book and be off and running). He felt I was being elitist or
telling him he was stupid because I insisted it would take him longer
than his "few days"... Unfortunately, this stuff is just plain hard.

> And as I always say, "You've got to try and screw up a few times before
> you'll get it".  Why? Because by messing up you'll be able to see what went
> wrong.  This, at least for me, helps me to understand how to avoid this
> problem next time around.

Yes, that helps too - although sometimes figuring out that you have
actually screwed up isn't always easy :) But I do feel that making
mistakes and learning from them really does help bring home the
concepts behind OO.
--
Sean A Corfield -- http://corfield.org/
Got frameworks?

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood



-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/


Reply via email to