Here we go again.
Someone posted a self question to reddit asking about ColdFusion and as usual the plethora of bashing started. Once and for all I’m going to put this stuff to rest and answer the questions as objectionable as possible (with a few opinions). Don’t like my answers? Then leave a comment giving me yours.
1) It’s not free. FALSE
While it is true that the most popular CFML engine, which is Adobe’s, isn’t free, it does have a free developer’s version. Also at only $1300, it’s not a lot of money for a company to purchase a license.
That said, there are FREE alternatives out there:
Smith – while not as feature rich as Adobe, it does give you some functionality a be it very little. Wouldn’t use it for doing anything but a quick report or personal site and would NEVER use it for a production web site since it’s very limited on the features. It’s also open sourced.
BlueDragon – Another open sourced CFML engine by NewAtlanta. It’s extremely feature rich (though not up to par with CF8 I believe) and very faster. Some claim it’s faster then Adobe’s very, but that can vary. Only things missing from the open sourced version that make it a contender is support for the CFDOCUMENT tag and an administrative backend (the BD community is hard at work creating one as we speak). If you’re looking for something that is on par with CF7 and don’t need support for CFDOCUMENT, then this is the one to go with.
Railo – Although the open source version hasn’t been released yet, the community is drooling waiting for this puppy to be released. Hailed as the fastest CFML engine out there, there is a community edition that you can download for free while you’re waiting for the open source version. It’s also the only version that has a “LIVE” edition so you can play with it without installing a thing. From the news, the open source version will have all the features of CF8 and then some.
Besides the OS versions available or coming out, who in their right mind pays for a license for CF anyways. With the hundreds of hosting providers out there including CF in their hosting plans, this issue is mute.
2) It’s slow. DEPENDS
As with any programming language or application it all depends upon the developer. Write crappy code, get crappy performance.
That said, Adobe’s version has an notorious issue with object creation which when creating an object heavy website or using a object heavy framework will slow you down. Now while this is an issue with the Adobe version, I haven’t had the chance to see if this is true with BD or Railo. I’m assuming that since both of those engines are faster then Adobe’s, you should see a slight improvement, but then again who knows.
3) It’s insecure. DEPENDS
See first part of question two.
I will say this in CF’s defense, is that it makes it really easy to protect yourself from SQL injections by using the CFQUERYPARAM tag within your queries. To this day I haven’t seen another language out there that has this extremely useful and straight forward line of defense.
4) It’s difficult to extend. FALSE
With the introduction of CFCs in 6.0 and being built on top of JAVA, CF is incredibly easy to extend. Also with the .Net bridge introduced within CF8 (and before that with the .Net version of BD), you know have access to .Net code. with the availability of accessing both JAVA and .Net classes, extending the language is a breeze. Need a feature that isn’t in CF but is part of the JAVA or .Net library? Great, you can call it directly from CF. Doesn’t get any easier.
This fallacy probably came from the old days of CFX tags, which were difficult to write if you didn’t know JAVA or C++ and the source for many troubles as they weren’t thread safe.
5) It’s uglier than PHP. DEPENDS
This is more of an opinion then anything and shouldn’t be on the list.