In order to discuss ColdFusion and Object-Oriented Programming (or OOP), I feel a bit of an introduction is in order. First, my background is in procedural programming (actually I first programmed on a Commodore 64, but that's another story). When I went to college for my CIS degree, I studied Pascal and Cobol for the programming requirements. After college, I continued down this road by using Delphi (pascal-based) and dabbling a bit with Visual Basic. When I started with ColdFusion (version 4.0), I began writing with procedural spaghetti code.
In 2002, I started to turn the road a bit and began to learn java for a project at work. Obviously I approached it from a procedural point of view, so it was difficult to get my head around, though I muddled through. With the advent of CFCs, I started seeing users trying to apply OO principles to ColdFusion. Following that, ColdFusion frameworks matured and new ones have been introduced.
I love the idea and promise of OO. I love the idea and promise of frameworks. But I'm in a procedural world. The code I maintain is procedure. Sure, we've done a lot of modularization over the past year-and-a-half, but that only gets us half-way there.
So my question is--how do you start? How do you break out of the procedural mode and get into OO with ColdFusion? How do you decide which framework to use? How do you decide which developer "helper" pieces to use with that framework (e.g. ARF, Reactor, ColdSpring, CFWheels, etc.)? I'm ready to jump in, but am at the learning curve wall (or is that a canyon?) and can't quite seem to climb it.
Comments and suggestions are welcome! This is the heart of where I am at and what I hope to post on much more in the future.