If you aren’t aware that ColdFusion has a problematic future, then here’s another nail in the coffin in the form of an article entitled ColdFusion Job Opportunities Going Inert
I have nothing against ColdFusion. It might be the greatest thing ever. However, it just hasn’t caught on, and nothing I’ve seen in the past six years tells me that we’re going to see a turnaround. If anything, CF seems to be losing momentum.
Every once in a while my web development firm gets calls from clients who need something done in CF. I’m no longer embarassed to tell them we don’t offer that service. From a business perspective, the platform is dying, at least in my opinion. That doesn’t mean it’s dead, there are still thousands of companies using it, but like the article says, you’ll have a much easier time finding a job as a Java or .NET developer as opposed to CF, and that’s because companies aren’t using it nearly as much.
But why not? Maybe it’s the $1,299 price tag for the Standard Edition or $2,999 for Enterprise. Then again, .NET isn’t exactly cheap to run when you consider buying Windows 2003, SQL Server, and other related software.
Maybe it’s a lack of functionality? But since when have the people writing the checks cared about nuts and bolts functionality as long as it gets the job done, and from what I can see, CF can get the job done in most, if not all cases.
My theory is that we’ve got a textbook Crossing the Chasm situation here. What Geoffrey A. Moore knows that CF developers might not is that there is a technology adoption lifecycle out there, and CF is not crossing the chasm that exists between early adopters (read developers) and mainstream customers (read the business guy cutting the checks). Why is CF not crossing the chasm? Because it takes some momentum to make the leap, and that’s what I believe CF lacks. To put it in other words, they never got enough of a market share with the early adopters, and not having enough of them they couldn’t jump the chasm, and now the early adopters are dropping it so it will ultimately die unless something changes.
What would need to change for CF to be a credible and monetarily successful development platform?
1. Get it used heavily in the schools as early as programming courses are taught.
2. Address concerns by developers that CF is an “amateur’s development platform” compared to Java/.NET/PHP. Either show them that it’s not just for amateurs, or bring it up to snuff with the other languages.
3. Lower prices. Do you think people use Java and PHP just because they’re dedicated to open source and hate Microsoft?
4. Market the thing.
It still might not be enough, but I know for myself and others I talk to, #2 and #3 are major barriers to adopting CF right now. We’ll see what Macromedia/Adobe decides to do. I wouldn’t be all too surprised to see them cancel the effort altogether within the next three years.
Then again, I’m just an outsider. Anyone else have another perspective?




I USED to LOVE Cold Fusion – talk about a quick development language. CF developers could build apps in days instead of weeks – and weeks instead of months – etc…
Where Cold Fusion stood a chance was when ASP.NET came into existence. Sure it touted being awesome – but it wasn’t yet – and it was hard to make than transition. So developers reverted back to CF because it was one of the only platforms that really seamlessly integrated with SQL server on a Windows Platform.
Now that ASP.NET has entered the world of Master Pages, and the VDE is free and easy – a lot more people are jumping ship to the MS platform. And OOP is the future due to portability and international development. I guess that’s why Neumont/Northface failed – I am guessing “The World Is Flat” was not a part of their required reading. (Sad Note: Where will the students go?)
But how about PHP? In the Corporate world – PHP was a no-no. I lost countless deals because I said the word PHP in a million dollar boardroom. It’s biggest weakness was how it communicated with enterprise database products. Now it’s support is seamless.
And how about MySQL – with the introduction of foreign keys and other 5.0 functions – this has turned into a REAL player too.
Cold Fusion exists in too many corporations to cease completely – but yes – it does need to be re-branded… as do a lot of Macromedia Applications.
My wonder is JSP – I know it exists in a lot of ORACLE apps – but aside from that – who is still using that? And PERL/CGI – I know I thought this was completely dead – but look at Movable Type…
Good comments Jeremy. But isn’t Neumont/Northface mostly MS based? I hired a few of their guys recently and as far as I can figure out they don’t teach anything but MS.
You are right – they are Java/.NET. I didn’t want to ramble on forever – so my point got confused as I tried to be brief.
My point was the WORLD is moving to a .NET platform – including our foreign neighbors – who are killing it…Shaun White style.
What I wanted to convey is that learning to be a cubicle programmer (of any language) in the states is a bad idea for anybody looking to get into the programming world. Which is a big reason behind the Neumont troubles.
Gotcha. That reminds me, I need to write a post one of these days about outsourcing work overseas.
Adobe really is having a hard time with development platforms altogether. AJAX is showing what intuitive animation and motion should be like on the web that Flash has never been able to do (with exception to video where Flash does a decent job). CF just never did anything for me and never positioned itself as a brand compared to .Net and PHP.
I had another thought about Cold Fusion – I think we are starting to see more hyrbid uses – For example: myspace.com – runs a fusebox coldfusion app – but is run on top of a .NET backend. Cold Fusion merely controls the presentations and calls to the .NET backend….
i used to work at amazon — amazon is build with perl mason, interfacing with c and c++ for the fulfillment and inventory management software. there are bits and pieces of java, but amazon.com is written in perl mason. perl rocks the hizzo.
cold fusion really sucks. it’s not considered a “real” language by software engineers. at best, it’s a presentation layer thing, but there are better alternatives. cold fusion will die eventually.
So a few weeks ago I called my contacts at Macromedia/Adobe to get clarification – and yes – Adobe plans on phasing out Cold Fusion.
I have been a ColdFusion developer for 7 years now and I have been hearing the same gloom and doom about the death of the platform ever since I took my first class. The same thing happened after the Macromedia merger – everyone said Java, .NET, and LAMP were going to make everyone jump ship.
Guess what? Not only is CF still breathing, you can now look on the web and see infinitely more mainstream sites using it than you did 5 years ago. Furthermore, there is a lot more that can’t be seen because CF is used extensively in firewall protected Intranet apps. Why? Simply stated, CF works extremely well and you can do more with less.
I run a dev shop for an organization with nearly 100 small to large scale CF/Fusebox websites and internal applications with only two developers including myself. Having worked with Java, ASP, PHP, and others I just don’t see how it would be possible to maintain millions of lines of code, crank out new apps in days (not weeks), and make real-time improvisational code changes to live apps in any other language without doubling our staff.
Another reason CF isn’t going anywhere is that most Federal Government agencies have adopted it as their standard dynamic web platform, which accounts for around 40% of CF sales. Based on the sheer volume of existing CFML code I saw as a federal contractor, I can tell you that it would cost millions, possibly billions of dollars in taxpayer money to rewrite all of that code from the ground up in another language. The government has almost single handedly kept Lotus Notes/Domino afloat for the same reason (I’m not saying that’s particularly good thing).
CF will always be a bit of a red-headed stepchild in the developer community due to it’s unorthodox tag based lanugage syntax and proprietary nature. However, with the addition of cfcomponents, cfscript, XML parsing and countless other enhancements, the platform has evolved with the times and is now more appealing to traditional OOP developers than ever before.
Eddie writes:
… I can tell you that it would cost millions, possibly billions of dollars in taxpayer money to rewrite all of that code ..
Hate to let the cat out of the bag on this, but wasting millions, billions or even trillions of taxpayers’ dollar has never stopped the federal government before.
I had the chance to work on both ends: Microsoft shops and Cold Fusion shops. I can tell you, even with all the “hassle” of OOP (the main argument against ASP.NET) you get a lot more done, in a more elegant fashion and with more possibilities of code reuse using .NET than using Cold Fusion. The problem with Cold Fusion is exactly the same problem ASP 3.0 had: The mixed between business and presentation layers. The spaghetti code is something you can not avoid in Cold Fusion. It is easy to write, but that same freedom can cost you dearly on the long run. Then enter the “frameworks” Mach-ii, Fusebox. There are nothing but a false sense of OOP or modular designs. They are just ways to control execution with enforcing any concrete design aspect of the application. These “framework” will not prevent that you break their own rules. So, what’s the point of using a “framework” that does not enforce a minimum quality control over the code? I know how strong many people feel for Cold Fusion and how many more feel against Microsoft. But business is business, at the end of the day what development tool helps you to get more things don’t in the best way possible. Career-wise, you don’t want to get stuck with working with a tool that requires 3 times more code to get things done. If that was the case, I would still working on my very first job as a COBOL programmer.
OOP is way overhyped. There is no objective evidence it is better. OO fans cannot even agree what the benefits are! They change their tune every 4 years. The “reuse” claims have fallen out of favor, as has “modeling the real world better”. Now they just tend to talk about “better organized code”, but they cannot for the life of them articulate exactly how they are measuring organization benefits.
I would like to see a realistic business app that OOP objectively improves. I want to then try my *own* change scenarios on it, not just those exaggerated by OO books. OO books inflate change-scenarios that benefit OO. Real changes are different than they show. Real changes will require one to override 1/3 of a method, for example, showing that their granularity of reuse or extension is all wrong. OO is optimized for textbook change patterns, not real change patterns. OOP works far better on paper than the front line.
I agree that OOP suffers from the disillusionment that always follows anything that gets overhyped. I also agree that there is no substantial, believable proof that it provides bottom line benefits to an organization (if there is information out there about this then someone please post it). However I don’t see any proof to the contrary either. I view it as more of a paradigm for managing complexity with opportunities for reuse (both objects and designs), modelling, etc. Its success depends on the characteristics of both the problem and the ability of the architect. It obviously doesn’t work all the time.
As for ColdFusion, there is little that prevents high quality software from being developed with it, but high quality software requires a little bit of thoroughness and that flies in the face of rapid development. I have worked with ColdFusion developers and I do not respect them. While they were prolific in some cases, I always had to work around their failures and corrupt data. Also ColdFusion developers by nature do not want to learn general purpose languages (or else they would realize the could accomplish the same thing for free), so they often refuse to solve problems that require other tools. Good riddance.
I use CF, sometimes even for monetary gain. The bottom line is that most CF developers whose work I have had the displeasure of inheriting I believe do not know how to correctly design a good application. The page centric approach is a nightmare in my opinion for large applications and thats all I see the CF guys do is page Centric. They don’t even leverage the J2EE power within Cold Fusion. Duh, Its the poorly skilled script kiddies using it that gives it a bad wrap. For now I make some money with CF then get back to enterprise Java. he he he…
P.S You can do more than put SQL and functions to execute a query in a .cfc, you can even practice a little OOP with a cfc…hint hint!!! Ever heard of MVC?????
Rewind to the year 2000.
Mr. Client: How long will it take to build this thing?
PM: If we use ASP, 8000 hours. If we use Cold Fusion, 1500 hours.
Mr. Client: We are using Cold Fusion.
Cold Fusion put the ‘rapid’ in rapid development. It was startlingly fast to build data driven web applications in.
However, all was not well. The extreme ease of creating moderately advanced functionality also invited horrendous coding habits, stuff that an experienced programmer wouldn’t even think of doing. Though there was some solid code being written, most of it was pretty bad, and very very hard to maintain.
The problem here was with the programmers, not the language.
It didn’t take long before Mr.Client became sensitized to the longer term cost of crap code, and began to associate that cost with Cold Fusion instead of with crappy programmers.
Along come the great white horse, the savior of CF, Object Oriented Programming. It promised the world on a silver platter! Your code will be easy to maintain and reusable! Wait a second, any decent programmer already had those didn’t they? Well maybe, but now you can have those but with 3 – 8 times as much code! And never mind that OO CF has never delivered on its promises. Ugly truth is, the Emperor is butt nekkid.
2008:
Mr Client: How long will it take to build this thing?
PM: 8000 hours if we use .NET, 8000 hours if we use OOP ColdFusion.
Mr. Client: ColdFusion? Doesn’t everyone just use .NET? I see no advantage to ColdFusion. We are going to use .NET.
In a knee-jerk reaction to the proliferation of truly bad code and architecture early in Cold Fusion’s days, its makers provided more and more ways to use a much more highly structured methodology, trying to make it more idiot proof. The CF Community gobbled it up, and propelled CF down the path of product suicide.
ColdFusion lost its competitive advantage when everyone got all googley-eyed over the lies of OOP. That is why the language is dying. There is no longer a compelling reason for stakeholders to choose it.
Wow, well put. I should pay people for comments like that…but I won’t.
I agree that no magic methodology or paradigm will “fix” bad developers. A lot of the problem is institutional: the market forces don’t favor long-term-oriented design. In fact, accounting principles in general emphasize a roughly 18-month return-on-investment curve, and globalization has pushed stable commodity services offshore. Targeting 18 months is not going to produce code that lasts 18 years. We need to find ways to reward long-term-oriented developers rather than mad copy-and-paste. As far as “page-paged architecture”, most businesses want desktop-like GUI’s and widgets, but the web natively lacks that. What’s needed is a desktop-like GUI open-standard, sort of like Flex/Flash but not proprietary, so that we can make business GUI’s more naturally without worrying about HTTP cycles or HTML limits.
This post is almost 4 years old right now.
What do you guys think about ColdFusion’s future now? Is it still dying?
I’d really appreciate some your thoughts.
Thanks.
Well, in the past few years I’ve had one, maybe two clients contact me saying they needed help with existing ColdFusion sites. I don’t think I’ve received any requests for new ColdFusion sites, and I haven’t heard of any sites built in ColdFusion in years. I’m sure somebody is building them somewhere, but these days all I hear about is .NET, php, and ruby. I don’t hear about jsp much anymore either. Man, jsp seemed to be the thing a few years ago, and now where is it? Haven’t heard anything about it in years.