My Bill of Rights as a Programmer

A Few Problems with ColdFusion

27. February 2009 03:11 by Scott in   //  Tags: ,   //   Comments (1)

I have a couple of Co-Workers who work in ColdFusion along with my Alma Mater. I wanted to see if it was the right thing to do or was there something better than it.  I did find a couple reasons why NOT to use ColdFusion which I have begun to believe in.  Don't want to start a flame war here, but I see a big problem with ColdFusion.

 
Photo by Mike Licht, NotionsCapital.com

  • It discourages the separation between business logic (the code) and the presentation layer (the layout).  This in turn creates something I like to call spaghetti pages. Bad for code reuse and code readability.
  • Because of the template model it uses, it creates cross site scripting vulnerabilities easier.  Most web frameworks escape the html entity in output automatically.
  • CFML and CFScirpt are poor abstractions.  You just aren't able to write business logic in them.  Some CF components will say to write you business logic in Java classes and then refer to them from CFML. 

This means that CF is a $3000.00 template library with has to be renewed.  Whats the point?

Just putting some thoughts down on paper.

If you liked this post, please be sure to subscribe to my RSS Feed.

Comments (1) -

Marcel
Marcel
3/31/2009 6:03:40 PM #

Hi Scott,
Came across this post by accident but thought I should point you in the right direction. Try looking up fuseboxframework.org, or search for model-glue, both are good frameworks that use MVC design principles to separate business logic from the display.

Whilst you can write Java classes and reference them, I've worked on many enterprise application purely in Coldfusion using the Fusebox framework and very rarely if at all did we need to directly access the Java api. Only when doing file writing actions that needed binary file stream manipulation which was actually introduced into CF in the latest version anyway!

I hope this has helped, as far as cfscript not being a good abstraction, CF9 this year will almost completely allow for all actions and cfscript based component definitions, so I recommend looking up Centaur for more details.

Have a good day,
Marcel Smile

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading