For thousands of developers, ColdFusion still pays the bills, and likely will for some time to come, if judging only by the growth in the markets where it is most prominent. Adobe says that CF is thriving with a community of more than half a million developers, but how many of those developers are thriving with ColdFusion?
The marketing material provided by Adobe is vague about the growth of the product, focusing mainly on the growth of the developer count. This is misleading, since the amount of developers familiar with ColdFusion can’t really decline much, and those developers are not asked how much they still use CF. They also mention the amount of companies using ColdFusion. That’s like Ford announcing the amount of companies that use their trucks. Even if a huge company has an exclusive agreement with Chevrolet, I’m sure they have a Ford stuck in a garage someplace.
The marketing information is also heavily aimed at large enterprises. This is where the product is being used right now and where it will continue to be used for the foreseeable future. ColdFusion finds itself in this corporate world, where product cycles are slow and bleeding edge technology is avoided like the plague. It is rare to see a development team using the latest version of any software, shunning it until others test and discover the bugs. To this end, I still encounter ColdFusion apps in active use that are running on version 5, soon to be 10 years old.
I once worked with a team of 5-6 developers on a ColdFusion Project. I mentioned that I was excited about the new features coming up in CF8. None of the other devs knew that there was a new version coming out, and a couple asked which version we were using.
ColdFusion has some huge benefits. In short time a developer can be brought up to speed and developers of all skill levels can contribute to large projects. Large companies love this model, since developer turnover can have lower impact on product support. I’d have no problem recommending ColdFusion for huge projects based on its capabilities, but that is not the only factor. You need to make sure your developers (who will be the source of any innovation in your project) are working with tools that inspire them to innovate.
And What About Those Developers?
Part of each developer’s inspiration needs to come from her peers, and not only the ones she works with every day. Good developers are active in the community, contributing to or consuming streams of daily RSS feeds. I’ve found the ColdFusion community to be second to none on all levels, except perhaps, their relative abundance. Anyone who has searched for a code snippet or a solution to a CF problem knows that four times out of five a Google search will land you on one of a handful of blogs for your answer. We all know who they are, and they are all fantastic and extraordinarily helpful, but they are few, and the success of the platform relies heavily on this group.
Conferences are also a wonderful forum for developer inspiration. ColdFusion is down to two or three conferences a year, occupies only a small part of the MAX conference (thankfully bolstered by an excellent community driven “un-conference”), and the content is frequently focussed on Flex, which Adobe prefers to keep arm’s length from any mention of ColdFusion. In contrast, there was a Ruby on Rails conference every week this summer, for a total of 20 in a six month span.
I find that developers are much happier working on a project using a technology that they know will be around for a while. I do my best work when I know the code I’m writing will be pasted into a future application. This helps me on my next project and helps the next developer who sees my code.
In the places where ColdFusion thrives—Fortune 500 companies, government agencies, and universities—developers are often locked into a routine that does not include innovation. I’ve seen this first hand. Innovation is inextricably paired with risk, the mitigation of which is often the most important goal in these institutions.
It’s getting easier to get an application out to the public. Finding good hosting is a breeze, and you don’t need a sysadmin to install your application. Cloud computing allows us to go from a test application on a laptop to a scalable thriving website in a day. The fact is that small development teams launching medium sized applications are using Ruby, Python, and PHP. These applications used to be out of question for enterprise use, but that is changing. Small teams like 37 Signals have seen their applications creep into some very large companies—even against their own recommendations.
Corporations have tended to choose ColdFusion when building applications in-house, but now more often than not, they are outsourcing the work, buying well tested and supported enterprise level applications that reside on external servers.
A huge benefit of ColdFusion is the time in which a server can be up and running for any size of project. It is no longer a leader in this department, and given the fact that most of the competitors are open-source projects with massive user groups, ColdFusion needs to offer a lot more to keep up. Adobe is capable of this, but only if it is profitable, and that’s not a sure thing.
ColdFusion is Not Dead
I happen to think the future of CF could be quite bright indeed. Adobe does some amazing and innovative things, and they have the ability and creative minds to build this product. My biggest fear is that growing the product will become less worthwhile for them as fewer corporations invest in their own applications. If CF is offered in a cloud computing environment (which I believe Adobe is still considering) its ability to integrate well with existing enterprise products will allow it to be a great rapid deployment option for companies of all sizes.