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/

