I’m a developer/entrepreneur, and I like ColdFusion. There, I said it. Okay, it probably wasn’t a big secret here, but somethings just have to be stated. All that being said, I hope anyone out there looking to start a business with a fast, reliable and powerful technology behind them will be ready to do the same. Today, ColdFusion is pushed off as a niche environment that is dying more every day. While you’re not going to find CFML listed among the top languages in current use, here are some things to consider that can still make it the right choice of a development tool for your startup.
ColdFusion hasn’t died, it evolved
From its early days back in 1995, ColdFusion was created as an alternative to writing your code over and over again to accomplish a task. For example, you could quickly access a database in a few lines of code and not have to worry about creating new objects, opening your connections, passing your commands and credentials, and closing your connections to avoid memory leaks. This made it faster and more uniform to perform a common task. That idea spread to much of how ColdFusion worked, and that was a good thing. It made access to the world of web programming a reality for many.
Since that time, the same concept was applied across the capabilities of ColdFusion. In some instances it didn’t quite work out, but where it was needed, it did. The ColdFusion of today is about much more than a markup language that abstracts a few common tasks. CF became what it is today based on the original idea of Rapid Application Development, a term that still has its use for any startup. With a full and rich object oriented programming language like CFScript, a powerful markup based language like CFML, a powerful administrative GUI dashboard to keep all your instances in order, and a host of add-ons and packages, frameworks, and CMSs at your fingertips, ColdFusion became an all-in-one package for creating a web based service that can meet the needs of any startup. Since it’s all built on Java, you get the additional flexibility of implementing ColdFusion across multiple application servers and connectivity with multiple web servers to meet your needs.
ColdFusion is what you want it to be
One of the great things about ColdFusion today is that it is as much about a philosophy of getting projects done quickly as well as efficiently. With the possible exception of a powerful, open source and modern IDE, ColdFusion has everything you need readily available to make an idea a reality as quickly as you want. That is not to say that there are not other great tools that fulfill similar needs, but many of those will have proprietary limitations that’ll be a consideration for your budget. Do you want to run your service off of an in-house server? Obviously ColdFusion will have you covered. Do you want a cloud based solution that’s scalable and secure? Using ColdFusion will handle that too. Do you think you’ll need convention over configuration solutions that can be put together with under a requirement for behavior driven development? They can all be quickly implemented with modern CF.
Do you like a particular Java application server? Tomcat, Jboss, Wildfly, Jetty, etc? Go ahead and use the one you like to host your Lucee app. Do you have a particular web server that meets your desires? Apache Web Server, NGINX, IIS can meet your needs. Linux based or Windows? Sure. Containers? Why not?
The point is that ColdFusion isn’t something that locks you in as a developer and an entrepreneur. As a developer, you want something reliable. Eventually, you’re going to hear any developer’s opinion about the tech stack the other guy is using, or the stack they were forced to use. Opinion, though, isn’t what you’re building your business on. You’re building it on results.
ColdFusion gets the job done
If you have an idea for a web based application that you need to build quickly and scale efficiently, ColdFusion can get it done. CF isn’t going to be the right tool for each job, but when used for what it was intended, you’re not going to have a lot to complain about. Do you need to custom build your own ticketing system that’ll easily integrate with your web portal? CF is there. Do you want a system that reads in 5 gb log files and sorts lines based on category type instantly? Maybe CF isn’t the most efficient tool for that, but it could certainly be useful in making it accessible.
“Don’t use ColdFusion”
That’s what they’ll tell you, and it’ll be your choice to listen or not. “Developers will be too difficult to find.” Well, ColdFusion is easily taught because many options follow modern development practices and the coding style can meet your needs. “ColdFusion is dying.” ColdFusion hasn’t endured this long because it’s dying. Legacy applications alone wouldn’t justify the continued development of new options and modern frameworks. Somewhere, someone is seeing the cost analysis that says there’s still plenty of life in ColdFusion yet, so let’s build on that. “Your intellectual property will be more difficult to sell.” If the time comes that you’re looking to sell off your company, the power behind your process will have a greater effect than which language you wrote you killer app in. Integration may be an issue, but whose to say writing it in .NET Core will make you more attractive to a Java shop if they come calling?
We’re living in an age where you can speak to your house and ask for a restaurant recommendation and the house’s smart systems will use AI and machine learning based on your preferences and day of the week to tell you where to go. The next step will be that the house will call an autonomous car to pick you and your family up for a great night’s experience. While ColdFusion won’t be handling all of the development tasks, there’s certainly no reason your CF startup can’t be a part of that process flow. So don't be afraid to use the CF word. ColdFusion FTW!