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

Reply via email to