YOUR FEEDBACK
James Nelson wrote: Thanks for the posting, which we are hoping will solve our software issue with t...
AJAXWorld RIA Conference
$300 Savings Expire August 29
Register Today and SAVE!


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP COLDFUSION LINKS


Misconceptions and Myths About ColdFusion . . .
. . . debunked

As someone who stands in front of audiences and evangelizes ColdFusion, often times I not only find myself preaching to the choir, but I sometimes find myself defending the product to misinformed or disheartened individuals. In the role of developer I, and many of our readers, find themselves in the same predicament.

In fact, the real battle to dispel myths and misconceptions about ColdFusion is not taking place at conferences and user group meetings. It's happening in the workplace, and every ColdFusion developer shares the responsibility to dispel any misconceptions or myths they encounter and to defend the use of their beloved product. Fortunately, one thing that's certainly true about ColdFusion developers is that they are enthusiastic, even fanatic, about the product; so there's no shortage of people to defend its use. Unfortunately, we don't all know what to say or how to respond to every objection thrown our way. That is what this article is about - to justify the use of ColdFusion or even its existence within an organization.

Each of the myths and misconceptions surrounding ColdFusion could be classified into one of three categories:

  1. Misconceptions about its capabilities
  2. Misconceptions about its community or corporate support
  3. Misconceptions about its cost
The majority of the misconceptions about ColdFusion surround its capabilities. We've all been there; having to defend against the notion that ColdFusion is a toy; that it's not capable of delivering enterprise solutions; that CFML is not a "real" programming language. All of these ideas derive from a lack of understanding about what ColdFusion is, not about what ColdFusion is not. Let's start from the beginning: ColdFusion is a J2EE application. What that means is that the ColdFusion server is a Java application designed to run on top of the J2EE platform (a J2EE application server). ColdFusion is a Java application that parses CFML, its proprietary tag-based language, in order to generate and run Java code under the hood. CFML, the tag-based language that ColdFusion developers use to write applications, helps to make common development tasks trivial. This, more than anything, is what makes CFML the most rapid development environment on the Web. What all of this ultimately means is that ColdFusion is the most rapid environment for developing Java applications.

The idea that ColdFusion isn't suited for enterprise applications is absurd - unless you believe Java isn't suited for enterprise application development. ColdFusion supports all of the functionality in Java (you even use Java to extend the server via the ColdFusion Event Gateway framework) and scales as well as any Java application. In fact, you could argue that it's better suited than "plain" Java as an enterprise application platform because CF offers faster development and debugging times (and easier deployment), which can be a major factor in the success of large-scale enterprise applications.

Another common misconception about the capabilities of ColdFusion is that it isn't secure. There's no foundation for a statement like this - the server itself is very secure, and applications written for ColdFusion are as secure as the author chooses to make them. Sure, it's possible to create CF applications that aren't secure just like it's possible to create vulnerable .NET, PHP, PERL, RUBY, or Java applications as well. This is a question of the competency of the developer, not the platform. Speaking of which, I'll lay to rest the misconception that bothers me most: that "real developers" don't use ColdFusion.

Are there poorly written ColdFusion applications? Sure. Are all ColdFusion applications poorly written? No - far from it, in fact. The truth is that because ColdFusion is somewhat easier to learn than "traditional" programming languages (largely due to its tag syntax), many CF developers don't have computer science backgrounds. There are plenty of us who write extremely advanced code and specialize in developing complex applications. Of course, a vast majority of the applications on the Web really don't call for this level of complexity, so the number of developers who specialize in developing very advanced applications is small in proportion to the total number of people using ColdFusion. The fact that ColdFusion is so easy that anyone can learn it is a testament to the language, not a drawback. I've worked on many ColdFusion applications alongside Java developers who were skeptics at first but who, after spending a few hours talking with me and a day or two writing CF code, became converts and avid fans of CF. Where is it said that because something is easy, it's no good? Isn't that the point of IDEs (and computers for that matter) - to make life easier? Show me a developer who wants their job to be more difficult and take longer than need be, and I'll show you a fool. ColdFusion developers are no fools.

It's also worth noting that there is a much larger number of well-written large-scale enterprise applications written in ColdFusion than most people realize; this is because a huge percentage of the organizations using CF are doing so behind corporate firewalls and on secure networks for intranet and other internal applications. In over 10 years of ColdFusion development for both private and government entities in and around Washington, D.C. (somewhat of a mecca of CF development), I can state with authority that there's a lot more ColdFusion out there than people realize. Many government and large corporate sites, behind their public-facing static HTML façades, are relying on mission-critical CF applications to get things done on a daily basis.

Another misconception is about the price of ColdFusion - some people don't like the fact that you have to pay for CF. Whenever I hear this argument from somebody, I always tell them that the best things in life aren't free. No, this rebuttal hasn't worked for me yet, but it gets the occasional laugh. In reality, what needs to be understood is that nothing is free. People will often question why .NET or PHP or PERL don't cost anything but ColdFusion does. There are two things that people with this misconception need to understand.

First, ColdFusion has a huge number of features out of the box. If you tried to create a .NET environment with all the same features (Verity searching, PDF generation, Flash Remoting, etc.) the cost would be much higher than the cost of a single ColdFusion license. Note that I said "tried to create…" - good luck getting .NET to run on all of the same operating systems that ColdFusion supports, or getting it to natively support Flash form generation the way that ColdFusion does.

The second thing that people with pricing concerns need to understand is the immense savings in development time you get when using ColdFusion. Ignoring abnormal assignments, a typical ColdFusion project involves anywhere from $25,000 to $250,000 of billable man hours writing code. Given the rapid nature of ColdFusion development and debugging, it's a safe assumption that the savings in development costs for a $25,000 CF project will more than make up for the cost of buying an enterprise license of ColdFusion. The bottom line is that CF is cheap - development isn't. When faced with the "we can't afford CF" argument, my attitude is generally one of "you can't afford not to use CF." For those folks who have seriously tiny budgets, there is always the option of hosting the site on a shared server and not taking on the cost of buying a license at all.

Before addressing the last category of misconceptions about ColdFusion, along the lines of cost there is one other thing to consider - are those "free" platforms really free? Most of them are, if you ignore the extra development/debugging costs, but there are some considerations with regards to .NET. .NET, the most frequently used alternative to ColdFusion, is often regarded as free. True, the platform does not cost anything, but there are further costs. In order to develop .NET applications, every developer working on a project will require a licensed copy of Visual Studio .NET - and that is not free. If you want to do ColdFusion development with Dreamweaver, it will cost about the same as a copy of Visual Studio, but you also have the option of using Eclipse for all ColdFusion development, and Eclipse (and the CFEclipse plug-in) is available for a free download (it's also my preferred IDE as well as the preferred IDE of many other developers). In order to run .NET on a production server you will also need to buy a Windows server license (2000 Enterprise or Server, 2003 Enterprise or Server, or 2003 Web Edition) - again, this is not free by any means. If costs are a real concern, ColdFusion is supported on many operating systems, including Linux (which is free). These additional costs associated with .NET aren't usually a factor in the decision-making process when evaluating CF versus .NET, but they're worth noting.

About Simon Horwith
Simon Horwith is the editor-in-chief of ColdFusion Developer's Journal and is the CIO at AboutWeb, LLC, a Washington, DC based company specializing in staff augmentation, consulting, and training. Simon is a Macromedia Certified Master Instructor and is a member of Team Macromedia. He has been using ColdFusion since version 1.5 and specializes in ColdFusion application architecture, including architecting applications that integrate with Java, Flash, Flex, and a myriad of other technologies. In addition to presenting at CFUGs and conferences around the world, he has also been a contributing author of several books and technical papers. You can read his blog at http://simon.coldfusionjournal.com.

YOUR FEEDBACK
CFDJ News Desk wrote: Making Decisions in Your Code with ColdFusion "cfif". This month I will examine the cfif tag and discuss how we can use that tag to make decisions in our code. Along the way I'll talk about Boolean logic, decision operators, and Boolean operators in CFML.
SYS-CON Canada News Desk wrote: Making Decisions in Your Code with "cfif" This month I will examine the cfif tag and discuss how we can use that tag to make decisions in our code. Along the way I'll talk about Boolean logic, decision operators, and Boolean operators in CFML.
CFDJ News Desk wrote: Making Decisions in Your Code with "cfif" This month I will examine the cfif tag and discuss how we can use that tag to make decisions in our code. Along the way I'll talk about Boolean logic, decision operators, and Boolean operators in CFML.
Jeff Houser wrote: Hi Kevin, I just saw your comment now. I'm glad you like the articles. The type of security I wrote about in the "Remember Me" article (August 2004) is still what I use today. I find that, in most cases, the web applications I've worked on did not need anything more advanced than that. I dealt with Lotus Notes a lot right out of college (a while ago) and their security scheme is the most powerful/flexible I've ever seen. In my first book, (Instant Coldfusion now extremely dated), I wrote about implementing this sort of system in CF, but it is overkill for most web apps. I'll keep a "Back to basics" article in mind, although these days I try to tie in with the issue focus.
Jeff Houser wrote: Hi Kevin, I just saw your comment now. I'm glad you like the articles. The type of security I wrote about in the "Remember Me" article (August 2004) is still what I use today. I find that, in most cases, the web applications I've worked on did not need anything more advanced than that. I dealt with Lotus Notes a lot right out of college (a while ago) and their security scheme is the most powerful/flexible I've ever seen. In my first book, (Instant Coldfusion now extremely dated), I wrote about implementing this sort of system in CF, but it is overkill for most web apps. I'll keep a "Back to basics" article in mind, although these days I try to tie in with the issue focus.
CFDJ News Desk wrote: ColdFusion Developer's Journal - Making Decisions in Your Code with "cfif" This month I will examine the cfif tag and discuss how we can use that tag to make decisions in our code. Along the way I'll talk about Boolean logic, decision operators, and Boolean operators in CFML.
Kevin wrote: I like your articles quite a bit! I was wondering what your current take on home-spun user security is now that we are almost in 2006 and your article about remembering user logins was 2004 if I remember correctly... Have you got any thoughts on more complex role based models vs privilage based? etc... I'd like to here your thoughst on this. Also, it's old news, but I download applications from what i would have though to be good cfml-ers that still use #'s where the should not! a nice back to basics article might be good for specificly when to use and not use #'s thanks! Kevin
CFDJ LATEST STORIES . . .
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted to be...
Red Hat CTO Brian Stevens, Citrix CTO Simon Crosby, Egenera CTO Pete Manca, Allen Stewart, Group Manager, Windows Virtualization at Microsoft, and Brian Duckering, Sr. Director of Products and Alliances at Symantec were the top industry executives who joined Jeremy Geelan in the 4th Fl...
Mike Neil is general manager for virtualization strategy in the Windows Server Division at Microsoft. Mike is focused on the delivery of the Windows virtualization technology, including Windows Server 2008 Hyper-V, Microsoft Hyper-V Server and Virtual PC 2007. Mike also directs the tec...
SQL Injection attacks are one of the easiest ways to hack into a website. One recent hack, using a script from verynx.cn, involves injecting sql into a web form that then appends some JavaScript code into fields in a database that then gets executed on the client side when a user views...
Recursion Software released a private beta version of their Voyager mobile platform, with powerful interoperability for Android, Microsoft .NET and Compact Framework (CF), all Java editions (JME CDC, JSE and JEE), and more than 15 embedded operating systems. The Voyager platform is a p...
2008 is going to be an important year for Rich Internet Applications. Most organizations are delivering or planning to deliver Rich Internet Applications; however, at the same time, most IT managers are facing a dilemma: which Rich Internet Application technology and platform to use? T...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE