DEV Community

Michael Born
Michael Born

Posted on • Edited on • Originally published at michaelborn.me

Yes, ColdFusion is "Unpopular". No, I don't care.

It’s popular to hate on CF. It’s popular to say ColdFusion is “dying”. It’s popular to call CF a “legacy” language, and compare it to COBOL. But is ColdFusion really unpopular? And, more important… does it matter?

I think most devs in the ColdFusion space know how popular it is these days to slam ColdFusion - specifically, CF's unpopularity itself. Recently, we even got a fun reference in a CommitStrip comic:

ColdFusion meme from CommitStrip

The point of the comic is to poke a little fun at CF - and that's fine! But it did get me thinking about the pervasive "unpopularity" of ColdFusion / CFML. So here’s why I don’t care whether ColdFusion is unpopular or not.

One: All Languages Fluctuate (thus all languages are "unpopular" at times)

Two examples of fluctuation in the "popularity" of programming languages - whether real or perceived.

  1. Ruby - no, really!
  2. HTML - Turns out Google Trends is a stupid way to measure language popularity

Ruby Is Not Dead

Remember that thing called Ruby? You know, the scripting language powering Kickstarter, Soundcloud, Basecamp and Etsy? Apparently these days it's cool to say that "Ruby is dead". Compared to the current rising star (once Ruby, now Node), all code is "unpopular". Take a gander at this worthless article by TechRepublic, citing the "Death of Ruby":

Ruby's popularity has dropped in the workplace and in coding bootcamps, while leaders question the open source programming language's staying power.

There it is again - popularity, that moronic metric only useful in blog posts and line graphs. The article gains some sanity when it quotes David Robinson, data scientist from Stack Overflow, with this piece of wisdom:

"Languages almost never die," Robinson said. "People build a lot of useful infrastructure in them, and those can last for decades beyond when they're essential parts of the ecosystem. It's not a question of alive or dead, but a question of growing or shrinking."

So nice of TechRepublic to admit that the entire premise of their "The Death of Ruby?" article is flawed. This is yet another click-hungry blog article with little experience and fewer facts citing the premature death of a language.

HTML Is Not Dead

Hear me out here - of course HTML is not dead, right? Right?

I had some interesting feedback on my Five Reasons to Learn CF in 2019 post from a developer who told me:

"I see a definite pattern in how many people search for ColdFusion. How would you interpret that graph?"

For reference, here is that Google Trends graph of "ColdFusion" searches from 2004-present which he was referring to:

Google Trends for ColdFusion, 2004-present shows a steadily declining search popularity

My response was to link to the same Google Trends graph for HTML over the same time period.

Google Trends for HTML, 2004-present shows a steadily declining search popularity, very similar to ColdFusion

So let me ask you - is HTML dead? ;)

Or is it simply that popularity is a nonsensical metric (Seriously, do Google searches count for anything?) to "rate" a programming language? We're talking about programming languages, not TV personalities!

Two: ColdFusion is Running the World

Whilst y'all dimwits call us unpopular, we're busy running the world - from health and banking to government and Telco companies. Adobe's Evangelism Kit points out that ColdFusion is utilized by over 70% of the Fortune 100. I agree that statistic should be taken with a grain of salt - after all, it is likely that many of those companies do not use ColdFusion as their main bread-and-butter tool, and may well consider their ColdFusion apps as legacy. But the kit also points out that 70% of Adobe ColdFusion customers are still building new apps with CF - meaning that they still consider the platform viable for future expansion. These are not take-your-funding-and-die-in-three-years startups, they're not Mom and Pop ecommerce websites, they are the largest companies in the world building new applications with CFML. Eat that. :)

Three: ColdFusion is too Current to be Unpopular

Many "Is ColdFusion Dead?" devolve into "ColdFusion is dead like COBOL"-type arguments. (If you really wish to see this sort of rhetoric, you can find several such comparisons in this Adobe Forum post, of all places.)

This doesn't hold up for the simple reason that dying languages aren't kept up to date! Check out the list of COBOL releases on Wikipedia - frankly, only two major versions released since 80's spells obvious doom for the COBOL ecosystem.

Contrast this with Adobe ColdFusion, with four major releases since 2012, or Lucee, with one major release and four minor releases since 2015. I mean, seriously - check out this list of tags on the Lucee Docker image. This is not how dead languages work!

Four: "Popular" Does Not Mean "Useful"

Popularity is not the end goal. I'll say it again: popularity is not the end goal! If your language of choice has a scheduled release every two years and hundreds of thousands of active developers, it won't matter one bit unless that language is useful. Node.js, as a language, is almost worthless without its immense open-source ecosystem. You won't find any real-world applications running on Node without the use of dozens or hundreds of npm libraries simply because Node is not useful in and of itself.

That's not a bad thing! Node is an excellent language to learn, and is very powerful thanks to its immense popularity and large package ecosystem - but just remember that without the ecosystem, Node as a language would be a footnote in the annals of history.

My point concerning CFML, and Lucee specifically, is that fast, easy jvm languages will always be useful and relevant. When you can build a form, process the form and send an email in an hour (and all without leaving CFML), you have an advantage which is simply hard to find elsewhere. I'm not sure an hour would be enough time for me to choose an npm package if I was using Node! ;)

Conclusion

I'm done caring about "popularity". Unless the market ceases to care about fast, stable, powerful languages, CF can only go up from here.

Oldest comments (47)

Collapse
 
ben profile image
Ben Halpern

You do you

Collapse
 
mikeborn profile image
Michael Born

Lol! I stuck up for the little ole Ruby, you're welcome. :)

Collapse
 
erikpischel profile image
Erik Pischel

I haven't heard of CF since the millennium. Didn't know it's still used. If you like it and it's still usable then that's fine.

Collapse
 
mikeborn profile image
Michael Born

Thank you. :) It's actually making a pretty serious comeback with an open source engine, Lucee, and the package library Forgebox.io.

Collapse
 
jimpriest profile image
Jim Priest

Don't forget Commandbox

Collapse
 
erhankilic profile image
Erhan Kılıç

Everyone say same things for PHP too but I don't care :)

Are there any advantages to use ColdFusion for our projects? That's matter but I couldn't see it on your article.

Collapse
 
mikeborn profile image
Michael Born

Yeah, PHP got a bad rap a while ago, but man they've done so good bringing out new features and better performance.

Hmm. I don't think so, PHP and CF do very similar things. CF is great at database queries and templating, but I wouldn't switch to it unless you were having serious problems with your current infrastructure. I'm not stupid enough to say everyone should switch to CF, we've got a lot of work to do still. :)

Collapse
 
timsayshey profile image
Tim Badolato

Great post! I started out in Coldfusion back in 2010. Since then I’ve learned PHP, Python, Golang, Node, etc. However Coldfusion is still my go to when I want to get stuff done and ship something. It’s just fun to work with :)

Collapse
 
mikeborn profile image
Michael Born

Thank you! Yeah, CF is fun. I've been doing it since 2011. I did veer into PHP for a while, but man nothing beats raw CFML for the sheer joy of building something. :)

Collapse
 
bennadel profile image
Ben Nadel

Well said. I write new ColdFusion code every day. And provide value for my users. That's the only thing I really care about.

Collapse
 
mikeborn profile image
Michael Born

new code is the way to do it! :)

Collapse
 
jimpriest profile image
Jim Priest

ColdFusion's been paying the bills since 1996 :)

Collapse
 
teratechcf profile image
Michaela Light

Great article! Yes popularity, as measured by Google searches, is not a good metric for how useful or good a programming language is. For that matter counting questions on StackOverflow is not ideal either - if the language community uses other platforms for discussing code. Such as CF Slack channel or FB groups.

CFML has forged ahead in the last five years - with regular releases and all the major eco-system tools and libraries. Such as CommandBox, ColdBox, ForgeBox, Foundeo security tools, FusionReactor etc.

CF security is way ahead of Java or PHP or .NET as measured by CVE.

The various CF conferences are growing each year.

Nowadays ColdFusion is modern, vibrant and secure. I wrote a book about that last year called CF Alive that goes into this data and resources in more detail. And how all CFers can help make it more alive.

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦

My college professor loved Adobe Flex and 10 years later talking to him, He' still using it.

Collapse
 
johncip profile image
jmc • Edited

My family's business was well-served by a CRM written in BBj, a JVM-hosted stepchild of Business Basic. Over the years, the language has added structured programming, database support, easy Java interop, and other post-1980 amenities. But the vendor enjoys their flat files, single letter variable names, and GOTOs.

(We even tried to migrate to something built on sounder technical foundations, but its rigid UI and the new vendor's limited desire to customize things forced us to migrate back. It was a very expensive lesson in what matters.)

Of course, as a programmer, paying bills is only part of the equation. I wasn't interested in writing BBj, and I'm not sure I'd be happy coding in CFML. Lucee seems decent (closures!), but when I looked at lucee minute, it seemed like parts of the samples still relied on the tag style code. I wonder if the wider CF ecosystem resembles this -- a modern implementation providing backward compatibility, with folks leaning on "the old ways" to varying degrees.

My first real web app was written in PHP -- there as well, the code is only as modern as you make it. It did the job, though.

FWIW, I think the current trend of fat front-ends, pure-JS, and microservices is a recipe for complex deploys and reliance on shoddy, WIP tooling, but that's a story for another day.

Collapse
 
mikeborn profile image
Michael Born

I don't think you're wrong about the "wider CF ecosystem" - there are a lot of legacy apps stuck in legacy practices. As you say, any code/app is only as modern as you make it. I've seen some pretty awful PHP stuff that turned me off of the language for a while, until I discovered Symfony.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.