To answer the question in the subject: depends what you really think CFML's biggest asset is... I think it's a combination of "easy to learn / use" and "very helpful community", both of which are still absolutely true in spades!
On Wed, Jan 12, 2011 at 5:49 AM, Irvin Gomez <ir...@pixel69.com> wrote: > With the advent of more advanced features, everywhere I go I see a big push > for moving Coldfusion and Coldfusion development into very complicated > frameworks and OOP. The usual reason given is that not doing so runs the > risk of rendering the Coldfusion developer obsolete in the job marketplace. First, not everything is "very complicated" but I know what you mean. It's why I created FW/1 as a response to the increasingly complex, bloated frameworks out there (in the opinion of many but certainly not all). Lots of people are very comfortable with the OO frameworks but lots of people are not. And, yes, one of the reasons given for learning OO - and any other technology / technique you don't already know - is to make you more employable and keep your skills current in the marketplace. The whole OO thing has been hashed out repeatedly in the CFML community but, frankly, in almost every other language community the subject never comes up: OO is the de facto standard way to build applications. End of story. Only in a handful of language communities is the discussion of procedural vs OO still active. More and more CFML job opportunities are requiring OO skills these days as companies try to ensure they get developers who (at least in theory) understand modern software development techniques (and, heck, let's be honest - OO is hardly that modern and almost everyone else out there works that way). > So, my first question: if the reason for going in the direction suggested is > fear of becoming 'unemployable', wouldn't it make far more sense to move into > something more "popular" like PHP, .Net, etc. right away? Because the same > argument can be used to scare even the most advanced Coldfusion developers: > no matter how good you are, you're still part of a very small minority and > doing coldfusion instead of PHP will make you obsolete sooner or later. There are two issues here: * do you know OO / other 'modern' software development techniques? * do you know more than one programming language? If the answer is yes to both of those, you'll be considered employable by a wider range of companies. If the answer is yes to one of those, it's definitely a plus. If the answer is no to both of those, I'd recommend picking up some books and expanding your skill set. I like CFML. It's fun to work with, it's easy to use and it lets me build complex applications very quickly. I came to CFML from C++ and Java (primarily) and I've programmed commercially in a bunch of languages - but I still turn to CFML as my first choice for web applications. If I couldn't get work as a CFML developer, I'd consider jobs based on other languages (Scala, Clojure, Groovy... Java at a push... C++ if I had to...). But I'm not universally employable. I would have loved to have gone to work for my old (ex-Macromedia) boss at Linden Labs or her new gig at EventBrite... but I don't know Python so I don't have the skills :( > Second and final question: what's really wrong with a procedural approach > when dealing with medium or small web sites (which I imagine is the majority > of work entrusted to your average Coldfusion developer)? Is there a > legitimate need to learn what *APPEARS* to be over-complicated and clumsy > frameworks and OOP strategies? If the procedural approach is working for you, there's nothing wrong with it. Many people learn the frameworks and OO because they find benefits, that the frameworks take care of a lot of boilerplate, repetitive code and that OO helps them organize their code more naturally - and makes maintenance easier. Also remember that it's not simply procedural vs OO. There's functional programming too. And imperative vs declarative styles. And so on. Marc noted in this thread that his blog post kicked off a huge discussion in our community about this topic and I'll throw my response (to the whole thing, not just Marc) from May 30, 2009: http://corfield.org/blog/post.cfm/To_OO_or_not_to_OO_What_is_the_question (apologies for the poor formatting - it was imported from BlogCFC to Mango Blog and lost the paragraph breaks) I'll probably also convert an essay about programming language technologies (aimed at my colleagues at World Singles) into a blog post at some point since it covers some of this ground too, as well as digging more into OO vs Procedural vs Functional and Static vs Dynamic and Imperative vs Declarative... -- Sean A Corfield -- (904) 302-SEAN Railo Technologies, Inc. -- http://getrailo.com/ An Architect's View -- http://corfield.org/ "If you're not annoying somebody, you're not really alive." -- Margaret Atwo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:340704 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm