Why use ColdFusion?
At work, we sometimes get asked why we use ColdFusion. This is usually because another company that has quoted for the job is using PHP. As a result I wrote some copy to go on our website stating "Why we use ColdFusion". I wanted to sell the positives of ColdFusion instead of point scoring against other server side technologies, as that just leads to a flame war!
I've posted the main content below, or you can read it on the Crisp eBusiness website
What is ColdFusion?
ColdFusion is a commercial, enterprise level, application server product from Adobe. ColdFusion is designed to be a high availability, rapid application development platform for web applications.
The key points
Trying to provide an accurate picture of the merits of a technology is not easy to condense into bullet points, but as you asked;
- Wide adoption (75% of Fortune 100 Companies)
- Award winning (CODiE, JOLT & Intelligent Enterprise)
- Independantly recommended (Gartner)
- Tight integration with Flex/Flash/PDF/AIR/BlazeDS (Adobe technologies)
- Commercially supported
- Frequent releases
- In-built monitoring tools
What does that mean?
It means that your web site is running on a commercial platform which can be easily scaled as your visitor numbers increase. As a Rapid Application Development language, development time is kept to a minimum, keeping your costs and timescales down.
You've heard that ColdFusion is an old language
This is a common misconception. ColdFusion was launched in 1995 since then there have been eight major releases - that equates to a new version being released every two years. ColdFusion was purchased by Adobe from Macromedia in 2007 and is used by approximately 75% of the Fortune 100 companies. A Gartner report published in May 2009, recommended ColdFusion stating that:
"ColdFusion can provide unique value that is not addressed by any competing alternative technology. Most notably, ColdFusion is unmatched by any competitor for ease of use and technical capabilities"
Is ColdFusion expensive?
Adobe ColdFusion is a commercial product, so if you wanted to buy a licence yourself then there is a cost involved. However, there are numerous hosting companies, including Crisp eBusiness, who can host your application so it is unlikely that you will need to buy a licence. Alternatively, there are two free application servers, Railo and Open BlueDragon, which can run ColdFusion Markup Language.
An interesting point to consider is that the widely adopted free PHP application server, is not designed to run business critical applications, instead you should use the commercial version. To quote from the Zend web site:
"The community edition of Zend Server is a free, simple PHP Web Application Server environment that is ideal for running non-critical PHP applications or just for experimenting with PHP."
It is worth asking yourself if you want to run your web site on the cheapest solution you can find or consider it a sound investment to pay a little bit more. As a commercial product, ColdFusion has to be good to compete against what are perceived as the free alternatives.
I'd be interested to hear any feedback.
- Posted in:
- ColdFusion
- Railo


Comment by Wim – August 17, 2009
Comment by Mischa Sameli – August 17, 2009
@Mischa, interesting read. Thanks for the link. I think your post is aimed more at why you as a developer choose ColdFusion, whereas my post was aimed at why a client would want to choose a company that uses ColdFusion, or at least not discount them because of lack of understanding!
Comment by John Whish – August 17, 2009
Comment by Mischa Sameli – August 17, 2009
Comment by John Whish – August 17, 2009
Railo and OpenBD don't nullify the price issue because, as far as I am aware, they are unproven for critical and large scale applications. Until a large and busy site uses either of these two platforms, enterprises will be very hesitant to adopt them and so price may still be a blocking factor in adoption.
I love developing for ColdFusion but it is massively expensive; especially when running on Sun hardware as you can't use the Standard edition and have to go for the full Enterprise version.
A large, or even medium scale enterprise more than likely won't be using a hosting company either as they'll run all their own networks themselves.
George.
Comment by George Bridgeman – August 17, 2009
When I said that the argument was nullified, I was referring to a client who wants to go for the free PHP server version because of cost, then they could go for Railo or Open Blue Dragon instead.
I don't know, but I would have thought that a large scale enterprise company wouldn't be too concerned with the server costs, especially as this would be offset by the in-house developer training time/cost being potentially lower.
Comment by John Whish – August 17, 2009
Zend charge $600 for a developer license of their php server. Ha, at least Adobe don't charge a bean for a CF developer license. (But then again that $600 includes 1 year of web/email support for developers which sounds like a reasonable deal since getting support directly from Adobe is either difficult or expensive).
I would like to know how old this "75% of Fortune 100 companies" fact is. I first saw that years ago, perhaps it needs auditing again and a date quoted along side. The 100 list is not static and neither is their choice of IT I imagine.
John, I agree that your "Why ColdFusion" reasons need to be more client focussed. Cost, sustainability and reliability are usually their top concerns. Releases and server monitoring are probably in their "why would I care?" category. ;-)
Comment by Gary F – August 17, 2009
The 75% quote is in the ColdFusion Evangelism Kit which was published in September 08, so it is coming up to a year old. I'm afraid I don't have any newer statistics to say if this has changed.
Clients do care about server monitoring, but usually only when they find out that their site went down all weekend!
Thanks for the comments :)
Comment by John Whish – August 17, 2009
Comment by ryan tj – August 17, 2009
I think tuning server configuration for performance is still something of a mystery to most developers (I'd include myself in that). Perhaps a "wizard" when you install ColdFusion which picked better defaults would be a good idea. Something which asks, the expected number of visitors, how many queries/cached data etc.
Comment by John Whish – August 17, 2009
Perhaps if you re-run the wizard at a later date it can scan performance and logs files to suggest optimised settings for you based on recent real-world activity on your server.
What's the effort and cost in building that wizard weighed up against how much more stable it would make 1000's of CF sites and incrasing CF's reputation? I'd say that wizard would be a real winner for everyone, even if it's not as good as calling in an optimisation expert, it's better than using the default settings.
Comment by Gary F – August 17, 2009
Ruby 0.95 appeared in 1995, Ruby 1.0 appeared in 1996. Python pre-dates Ruby. Erlang, modern darling of the distributed functional crowd? Dates back to the 1980's!
So CFML is not "old".
@George, Railo powers some very large and extremely high-traffic systems - expect to read more about that on the Railo website shortly!
Comment by Sean Corfield – August 18, 2009
Looking forward to the reading the Railo case studies. So far clients haven't heard of Railo or Open Blue Dragon or even CFML, which is why I entitled by post "ColdFusion", but I really hope that Railo makes CFML into a more widely adopted language.
Comment by John Whish – August 18, 2009
After speaking to some other people the idea of an set-up install has already been mooted, but I'm pretty sure that it has not been adopted for the CF9 release. Perhaps Sean and the guys at Railo would like to set the standard? :)
Comment by John Whish – August 18, 2009
Comment by Sebastiaan – August 18, 2009
Thanks for asking!
Comment by John Whish – August 18, 2009
Comment by dickbob – August 19, 2009
Comment by John Whish – August 19, 2009
Yep, because small agencies use it, that 75% of companies surely uses other technologies as well and CF is not the only one they use
* Award winning (CODiE, JOLT & Intelligent Enterprise)
Never heard of those...
* Independantly recommended (Gartner)
Depends on the weather/season/who writes it, you name it, they also say that CF has decreasing number of developers, why invest in it when in 5 years there will be no developers?
* Tight integration with Flex/Flash/PDF/AIR/BlazeDS (Adobe technologies)
Yeah, but no NULL values which makes working with CF and Flex a PiTA.
* Commercially supported
Money, money, money...
* Frequent releases
Yeah, right. Every two years.
* In-built monitoring tools
That don't work when the server hangs.
"It means that your web site is running on a commercial platform which can be easily scaled as your visitor numbers increase."
By buying the license. Money, money, money...
"As a Rapid Application Development language, development time is kept to a minimum, keeping your costs and timescales down."
Yep, however testing is still mostly done through cfdump and cfabort. So you may think your app is working but it is not. Most CF developers have no clue what UT is.
"This is a common misconception."It is, CF is dead language. Just notice how much PHP, Ruby, ASP.NET, java evolved since they were introduced. This is not true with CF. ECMA style operators? Creating structs and arrays using short notation? Someone is playing catch up.
Comment by douchebag – September 03, 2009
Most client who are tech-ignorant enough to ask "why" aren't going to care about issues such as monitoring, release cycles, awards, or integration possibilities. Most will want to know two things because they are looking at their budget for the current fiscal year:
1. How much money is it going to cost me NOW to develop this solution (i.e. can I fit it into my budget)?
2. What are the ongoing support costs (i.e. how much will I have to add to my yearly budget)?
Any firm confronted with answering questions has to have all the information, not just license fees and hosting costs. Showing customers the total cost of development (time + fixed costs) and maintenance will sell your solution.
I like to make the point when having this discussion, and someone makes a comical comment such as, "but PHP or .NET are free", is that nothing is free to implement. The technology's implementation is where the costs are determined.
You can build a web application using C++ if you like. Acquiring the technology doesn't cost you a dime, but it would sure cost you an arm and a leg to implement the solution with it.
Comment by Steven Brownlee – September 03, 2009
Comment by JohnO – September 03, 2009
We have some complicated encryption algorithms we tried to mimic this in cfml without much success so we wrote it in c++ and call it via cfexecute. We jump in and out of java and even have some .NET integration.
For a large app a few grand for a application provider is a small investment based on "our" return.
For smaller sites or a cheaper approach look at Railo and OpenBD. I'm amazed at Railo and how fast I can get applications to customers for free. I have also been looking at OpenBD's Google App Engine implementation wow it's amazing and really opens doors.
In the end I'll code in the language the job requires but when I have the choice I choose CFML.
@douchebag No nulls in CF does suck a bit but we can work around that :) and BlazeDS ( java ) and Flex/AS have nulls.
Comment by Paul Kukiel – September 03, 2009
All hosting companies are familiar with PHP, tuning, etc.
Hosting CF introduces a whole new set of issues: Server settings, security, tuning, etc. Plus I imagine many of the common admin tools like Plesk, etc don't play well with CF. Can they learn/develop all that and still offer CF hosting for the same cost as PHP? Probably not.
Comment by Jim Priest – September 03, 2009
<imho>Investing time to learn PHP and ASP comes a lot easier when its free with nearly every hosting package out there. Until CF is offered at a free or near free so learners can be exposed early to it, then it will always be a hard sell later on.</imho>
Comment by JohnO – September 03, 2009
www.getrailo.org
Comment by Railo – September 03, 2009
One of the benefits Railo offers for hosting companies is that each web application context (user account/site) is completely sandboxed automatically but also has a complete Web Administrator, allowing each user account to manage all their settings, including data sources, mappings, mail server setup, performance tuning and aspects of how the engine behaves (scope lookup, Application.cfc handling and so on).
Comment by Sean Corfield – September 03, 2009
GoDaddy have also locked down the CFMX7 sandbox so much as to make it almost unusable and you cannot configure anything yourself.
To be honest, GoDaddy's cheap CF hosting does a disservice to CF because people think the problem is CF. I've moved several people off GoDaddy because of continued problems with their CF setup. I have just one CF site still on GoDaddy and its use of CF is extremely minimal.
Comment by Sean Corfield – September 03, 2009
www.cfwhisperer.com
Comment by Mike Brunt – September 03, 2009
If on the other hand it included server side javascript like Jaxer only with the power and function of the CFML server, then it would be the greatest platform EVER. In my opinion. Especially if there were better enterprise level developer tools and if there was serverside javascript then Aptana would no doubt be able to include it in their great IDE. Oh what happy days would be had by all....
Comment by Marcel – September 04, 2009
Comment by Brian Meloche – September 04, 2009
So why do I CF? I have been developing in CFML for about 5 years now. I began developing in ASP, VBScript and PHP in the late 90's. Then, I got a full time job in an enterprise environment. For the first time I recognized that I needed to develop like a grown up. Meaning, I recognized that the enterprise required that I develop scalable applications and that they were built in JAVA with MVC. Let's face it, JAVA is the language of enterprise i.e.: Oracle, IBM. I know C interfaces for Oracle and IBM are out there but C is mostly a Windows thing and it seems that JAVA is the dominant language of the big 3rd party enterprise solutions.
So, as a web developer what options do we have in the enterprise when JAVA is the dominant language? I can adopt a convoluted approach and spend countless hours developing or extending JAVA when I just want to get the job done. This is why Ben Forta and friends have created a great thing in ColdFusion. Just think about it, Flex is really a spawn of ColdFusion methodology.
The real argument here is - time. ColdFusion boasts itself as "Rapid development", "Do more with less"; this is true in my experience. One important but not often considered point, ColdFusion enables you to trust the platform. Question...How many security or update patches have you had to install for ColdFusion? 1 or 2 maybe, limited. So it's a solid solution right? Another question, which versions of open PHP are you using, are they backwards compatible and scalable, who exactly manages this code, which interface do you use? With a ColdFusion install, from server to server you know what you're getting, there is no question and it can be deployed in minutes. I sleep well at night knowing that a competent well paid developer has designed my server-side technology and I'd always pay for that piece of mind. It's also great to know that my JAVA/jsps can also be run on my ColdFusion server too. In my 5+ years of enterprise development I see others struggling still leveraging convoluted methods to simple problems, while I sit back and move forward and provide real solutions with ColdFusion.
As for Zend, unfortunately, it can be more expensive; I researched it prior to moving to ColdFusion because I was a PHP guy. Why would I want to introduce Zend to my inherent enterprise (JAVA) environment and have to Java Bridge when ColdFusion is JAVA? Also, at Zend like Adobe, they have to pay their guys. I'm not trying to rock the boat, code is code, but in my experience PHP is much more convoluted from the install to the language syntax. CFML is easy and elegant.
Other pro-ColdFusion points to consider. Scalability, ColdFusion Enterprise has a number of easy interfaces to manage and maintain servers because it is deployed in ".war" packages like JAVA. In CF Administrator, I can easily package and deploy multiple instances of my server, how cool is that! ColdFusion can also act as a native Middle-tier server for RIA's, FLEX and AIR. It's nice to see diehard JAVA developers adopting these new technologies as a viable alternative to JavaFX. Flexibility and ease, ColdFusion is extremely flexible and can make you life easier by eliminating all the extra work from install to administration of your web application servers.
Let's face it Adobe is doing things right. They are bridging design and development, spearheading innovation, and Flash/AS3 is the most innovative platform/language on the web. With the Flash Player having the highest percentage of penetration of any player in the world, come on.
I challenge any other language to produce as rapidly and robustly as ColdFusion, while continually having a completive edge in innovation in the web development spectrum. Don't get me wrong F/OSS is a great thing, but do you work for free; is there no room for intellectual property? While the strictly F/OSS followers slowly develop apps I will continue to release them in half the time. It was a no brainier to introduce it to my enterprise environment and there shouldn't be any questions for you to do the same. But hey, this is just my opinion.
Comment by Chad Fraser – September 16, 2009
There's a 'rule' that's been kicking about the software engineering industry for about 40 years. I learnt it from my Dad (who learnt to program when computers took up entire rooms). It's called the 40-20-40 rule. It goes thus:
40% of your time should be spent planning your design.
20% of your time should be spent coding.
40% of your time should be spent testing.
It's true regardless of your chosen tool chain. If you're releasing apps in 1/2 the time then you're either skimping on planning, or testing, or both. That is definitely *not* enterprise level development.
Comment by Chris Neale – September 17, 2009
Comment by amclean – November 01, 2009
Comment by John Whish – November 02, 2009
Comment by Matt – May 25, 2010
It's aimed at middle managers who get the third party inaccurate opinions.
Comment by Arran – October 11, 2011