I’m advanced? That’s the impression I get after reading Doug Boude’s short glossary of Object Oriented terms. The list is intended to help novice ColdFusion developers that are just getting into Object Oriented programming. I read through the list, and was surprised to find that I already understand about 95% of the terms. The one or two that I didn’t already know were just clarifications of a concept I did understand, but I had it slightly off.The funny thing is, I didn’t think I was good at Object Oriented programming. Why? Because I don’t use one of the MVC frameworks, at least not yet (I do have plans to convert CFQuickDocs to Fusebox 5 in the near future). But I found out that I am actually using most of these OO concepts already in my code…just not in an organized, community supported framework.This reminded me of a previous debate I initiated a couple of months ago on my blog. I was basically stating two things:
- OO developers aren’t necessarily advanced
- Some Advanced CF developers don’t use OO
Those two statements should be obvious, and indeed most of the debaters agreed with me.But I want to follow up on that debate with this scenario. Say an advanced Java developer starts using ColdFusion. He quickly learns of the various CF tags that allow him to do an adequate style of OO programming (cffunction, cfquery, cfobject, etc.). He is making simple applications that interact with databases, in an OO manner. But is this developer advanced? He can engage ‘non advanced’ developers in a debate on the merits of OO in CF, and he would look very smart. But could he even pass the Certified Advanced CF developer test? No. He doesn’t know anything about CF enterprise features like SMS, Gateways, Clustering, Web Services, etc. On the other hand, someone that does understand and use the above CF concepts (as well as other advanced CF topics), but does not use OO, will be able to pass the certification.Again, I am not saying that OO is bad, just that OO <> Advanced.