Every now and again these articles pop up about the future of Coldfusion, I myself wrote such an article some time ago.
It’s my believe that Coldfusion, the application server and CFML the language suffer from what is known as the law of dialectics of progress. In layman’s terms: the law of the handicap of a head start.
In 1937 a Dutch journalist and historian, Jan Romein wrote about the dialectics of progress. Simply put it explains why more advanced solutions can create a problem for the adaptation to new evolutions in the future.
One of the examples Jan writes about is such as the fact that London at his time still had public lighting based on gas lamps while the rest of the world was moving towards electric lights. Because then London was ahead of the rest of the world it had massively invested in gas lamps while the other cities didn’t even had gas lamps. So for these cities it was easier to switch to electric lamps. The fact that London had lamps that worked well and had invested a lot in it caused a delay in the adoption of new technology.
I believe that this is in part causing Coldfusion to lose much of its appeal. At the time Coldfusion was so far ahead of any other server-side web technology and was so easy to use that not many people felt the need to keep an eye on new evolutions that were taking place. These evolutions led to test driven development, use of version control, no-sql databases, ORM …etc. Although Coldfusion and it’s community is catching up in those fields it wasn’t leading this evolution mostly because of the handicap of having a head start, nobody really felt the need to try new ways or were hindered by the closed source model of Coldfusion.
When looking at cfml as a language it’s clearly far behind any other language. Mostly because all other web technologies are based on languages that are not only used as “web languages” but are programming languages in their own right. Think of Python, Ruby, Java, Clojure and even PHP and Javascript to some extend.
Of course that’s not the only reason, the fact that Coldfusion until recently (with the advent of open source alternatives) has been closed source hasn’t really helped in terms of adoption. The expensive & complex licensing model is also not appealing to young developers who want to experiment, start up a new company or just create a simple blog.
Some people deny that there is a problem others complain about Coldfusion and prophesize it’s downfall. I’m sure the adoption of Coldfusion will not grow much in the future, there are fewer jobs around and more and more companies are switching to alternatives mainly because it’s hard to find Coldfusion developers these days.
What bothers me is that we are all (including me) good at analysing the status quo instead of focusing on the future.
TV didn’t kill radio, internet or digital magazines didn’t kill traditional magazines or newspapers. In that sense I don’t think CFML will disappear either.
Many business decisions are made not on the quality of a product, but on other grounds, like what’s trendy or how easy is it to find programmers or what strategic benefits a cooperation with a certain company offers and so on.
People choose Drupal or WordPress not because they are written in PHP but because they are good and can be installed nearly everywhere. Ror or Django are said to be superior to PHP and yet PHP is still more popular, has more well-known apps. So it’s clearly not the technical merits that define popularity of a certain technology.
Think of Apple how it used to be great then went almost bankrupt to rise from its ashes again. What it needed was a new OS and a focused leader. Apple has taken drastic business decisions, like switching from OS 9 to OS X, cutting down the amount of products, from powerpc to intel, from being a computer company to building consumer devices and selling music online.
Coldfusion has done that once in the past by switching to Java with Coldfusion MX, now it’s time to reinvent the language. What I believe should be the next step either the adaption of the existing programming language or the creation of a new language that would be modern while keeping the philosophy of CFML. Something new, fresh, possibly revolutionary that will attract young developers. Combined with a demo of building a powerful app in minutes that would blow away the competition. Marketing is important whether we like it or not. A scenario like this would put CFML back on the map.
Does this mean we all have to start complaining about Adobe and why it’s not doing more for CF? I don’t think we have to wait for it until it’s all handed to us on a plate.
Let’s embrace open source and show the world Coldfusion or rather CFML can coexist with Django, RoR, NodeJS …
The advent of a company like Railo is addressing a lot of the problems that Coldfusion is facing.
- Open: it’s open source
- Modern: It’s introducing lots of new modern features
- Hosting: cheaper and more hosting options
- Commitment: Has made a 10 years commitment
- Good product: Lightning fast product and a fixes bugs fast
- More focus: Railo (CFML) is its primary product not one of the many
I’m not pessimistic when it comes to the future of cfml, I see a change that has been going on for a few years, new frameworks like FW/1, Coldbox lite, Coldfusion on Wheels are all very modern. I see companies like Mura embracing an open source model and working with Railo or ContentBox that offers a modular CMS.
The seeds are there.