Hacker News new | past | comments | ask | show | jobs | submit login
Coldfusion is “Unpopular” – I don’t care (dev.to)
45 points by timsayshey 27 days ago | hide | past | web | favorite | 73 comments

>And, more important… does it matter?

If author wants to continue using CF for his own reasons, that's fine but it's still worth knowing why others care about popularity:

1) job prospects - e.g. knowing Javascript will have more relevance in job hunting than knowing Microsoft's VBScript that was used in Internet Explorer 8.

2) large community that has seen similar problems and can provide answers to copy&paste code : blog posts, tutorials, books, Google searches, StackOverflow, etc. (Relevant XKCD: https://xkcd.com/979/)

3) large ecosystem with lots of 3rd-party libraries, open source repos, etc so one doesn't have to invent everything from scratch

4) the language is continually enhanced with the latest technical features to stay up-to-date - e.g. Delphi didn't have 64bit compiler support for a long time (~2011?) even though C++ had that ability for years. That drove away many programmers that needed to access more than 4GB of RAM.

The common theme to all those bullet points is that programmers are using "popularity" as a rough cost-benefit analysis of investing time into using it. They know programming doesn't happen in a vacuum.

OTOH, all reasons are cons... an expert in an esoteric system with none of those will be paid her weight in gold by the fewer employers in need of a very finite resource... while js programmers are a dime a dozen.

If one language is expensive, and another language is cheap which do you think employers will be building NEW software in?

I've seen people who follow the strategy you prescribe, and while they did make above market while they helped companies migrate away from [dying technology] they eventually became unemployable.

It simply isn't a good long term play, for either employee or employer.

It's a good endgame for an engineer. If you've got experience with X language and you're planning your exit from the industry.

Better yet, be the guy who can upgrade a system like that from X language to the newer one that can be maintained by the your new wave of engineers.

In the long run we are all dead. -- John Maynard Keynes

For some, the short term payoff is the right strategy. Also how is it not good for the employer? Assuming they could fire the person (or just hire him/her as contract).

Why not try to do both and become an expert in the system your employer is migrating to as well while you are at it.

I definitely see better rates for CF contracting. I’m sure the same is true of FORTRAN.

Weirdly enough, this isn't necessarily true. Articles keep popping up about a shortage of FORTRAN or COBOL programmers. Yet when you look into it, they pay comparatively poorly... which explains the "shortage". I think this might be because there's still enough retired folks willing to contract a bit on the side. (And FORTRAN is not so bad.)

On the other hand, you can definitely demand obscene hourly rates for old, clunky stuff most people don't want to touch. Sharepoint is one example I know of. (Not to imply CF is clunky, but the worse the workflow, the higher the rate, obviously.)

> Yet when you look into it, they pay comparatively poorly

Hmm. I know this is completely anecdotal, but the two software engineers I know who are COBOL experts also happen to be the best-paid software engineers I know, and not by a little.

Old, esoteric systems also require knowledge of the system, which can be practically impossible to get from the outside. This is why learning COBOL in 2019 probably won't get you a six-figure job maintaining old bank mainframes. You may know the language but if you have no clue how these bank mainframes work outside of using COBOL, you aren't going to be a great candidate.

> "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."

this is unprofessional and doesn't help drive your point. You're arguing that "dimwits" perceive popularity as a good measurement of the value of a language, and then you point to the language's owner's own bluster about how popular it is in the industry.

I'd like to present an honest inquiry: who's life is made better by this article? The "dimwits"? Coldfusion devs? My guess is neither.

The stronger argument is a few lines down:

> 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.

If you believe that number (and I'm skeptical, but let's grant it for the purposes of discussion), that indicates that CF is still a going concern in most places that use it, rather than something cordoned off in a dark corner as "maintenance mode." And people generally don't start new projects on platforms they believe are going to go away soon.

Note, however, the shifting goalposts: we hear that 70% of Fortune 100 companies use CF, and then that 70% of "ColdFusion customers" are starting new projects in CF, but that doesn't mean 70% of Fortune 100 companies that use CF are starting new projects with it. We have no idea how many of those big enterprises that use CF still consider it viable. But by placing the two numbers in sequence like that, the Evangelism Kit plants the suggestion in your mind that lots of them do.

I'd be curious to know which users at these companies are creating the new Coldfusion apps. As a parallel, plenty of real business work gets done with Excel spreadsheets by people all across a business organization, but that doesn't mean that a new product actually being done by the engineering org within a company is going to use Excel for a new software product (they won't). It matters who these Coldfusion users are. Are they outside of engineering?

Not saying he's wrong, but this guy just basically rewrote the Adobe sales pitch with extra salt

A lot of companies build CF apps internally but you’d never see

Agreed. The article’s purpose seems To be a statement about how the author doesn’t really care what people think about his language choices. Yet he put time and energy into writing an article about this, contradicting how much he says he cares.

While the use of the term "dimwits" is definitely unprofessional, there is considerable value in knowing a language that's used by a small but critical segment.

Case in point, the banking world's use of COBOL. Very few organizations use COBOL anymore, but those who do are using it in some absolutely critical pieces of infrastructure that can't easily be replaced. The combination of low popularity and critical usage means that people who know COBOL are in high demand and can command fantastic salaries due to rarity.

I've been involved in CF since 1999. I'm the manager of the Houston CFUG (though we are transitioning to a very well known name in the CF world as the new manager), spoken at some CF confs, appeared on some podcasts talking about CF (even non-CF ones), and was a technical reviewer for a v5 title.

However about 6 years ago I made the transition away from CF to Rails (not for jobs - in my role I pick the technology stack). The Rails ecosystem is so much richer (and most of what I'd compliment there is true of other languages as well). Great package management, great tools (for example, Code Climate started as Ruby/Rails tool), great devops story, and more.

There's a lot I think CF still is advantageous for (the admin UI, easy debugging via CFDump, in-memory SQL engine to query against recordsets, etc). However, there's a lot it doesn't include. Easy ability to use environment variables. Background processing (Ruby's Sidekiq replaced in one line what I had spent years writing in CFML, because no one was trying to solve the problem etc) Etc

Also the support from Adobe has waned substantially over the years. As a user group manager I saw this in person.

I'd still do CFML, happily. I also would work in any other language I know, or do devops work. However, I've noticed alot of developers who cling to ColdFusion like they owe it allegiance. They beat the "ColdFusion's not dead!" drum even though the job market is pretty clear for the technology. It's a decent language, but it's just a tool.

To be fair to CF, it’s really easy to write server-side rendered CRUD apps in it, and there’s a lot of functionality baked it to support it. But RoR is just as easy, and lacks the, ah, legacy aspects of the CF language and runtime that are so troublesome. To put it another way, CF is a syntactic and semantic mess by design, a holdover from late-‘90s development, and attempts to improve it largely consist of throwing increasingly baroque structures on top of it that no one really uses in practice. (And the class structure the generated Java uses is enough to make a grown person weep and reach for the whiskey.)

But it’s also a development paradigm that is easily comprehended and encompassed by a single developer, which is not something you can say about modern development architectures. You don’t need to understand front-end toolchains or VDOMs, you don’t need to figure out how to make reverse proxies and API gateways work, you never have to use OpenShift or even understand what a container, let alone Kubernetes, is, and you don’t need to stand up logging and analytics servers. You can do a lot in CF with a little. Granted, oftentimes it’s a lot of damage, but there’s definitely a lure to having such a simple development environment even if you’re trading off little things like, say, code encapsulation and separation of concerns.

Having said all that, the “70% of major companies” argument is bunk. Choose any legacy technology and you’re likely to find it in 70% of major companies just through the inertia of “if it ain’t broke.”

>Also the support from Adobe has waned substantially over the years. As a user group manager I saw this in person.

Is Adobe Experience Manager eating Coldfusion's lunch that you could tell?

Not really, but it’s probably eating CF’s marketing budget - Adobe really puts their energies into the enterprise products. One year at the Internet Retailer show (my company exhibits) I stopped by the Adobe booth and introduced myself as a CFUG manager. They didn’t even know CF was an Adobe product.

The problem with Coldfusion isn't with it's popularity, usefulness or value. It's with Adobe and the cost of licensing.

The only reason right now someone would choose Coldfusion over literally anything else free is their existing skill. That's the very definition of dying out.

The other problem with Coldfusion is the community that all seem to have this same chip on their shoulder.

To be fair, there is an open source implementation. (We’ve run Railo/Lucee for years on our old CFML code)

You're right of course, but I'm betting that development didn't start with the open source implementation.

We've done quite a bit of new development with the Lucee open source engine. We switch back and forth between the open source engine and Adobe engine depending on if we want the remote monitoring that comes with Adobe CF.

A year or two ago I would have replied that ColdFusion is actually dead, and that using it or really, even, maintaining applications in it is irresponsible, because it's virtually impossible to secure. But I think it may have become so archaic that vulnerability researchers aren't really hitting it as much any more? Maybe you've weathered the storm, and CF will be safe to use from here on out?

(Obviously: don't use ColdFusion).

As the article indicated, there are new releases, both in Adobe's proprietary version and the open source version (Lucee). Foundeo is a company built around CFML security tools (scanners and a WAF), and they release lockdown guides that are kept up to date.



I think it's the CF applications that aren't being maintained that are the biggest risk (and there's plenty of those) - Adobe has indicated which version are EOL:


Scanners and WAF are, in general, not useful security tools.

When you say archaic are you saying that the language hasn't been kept up to date? (If so you would be wrong)

I remember when it was being designed and first release that it was such a hodge-podge of ideas that in combination resulted in something that we could trivially see were bad using principles from long before.

I don't really care much for language popularity, but I think the case to be made, as can be for any language of waning popularity, is the pool of developers who are available for hire.

ColdFusion is also unpopular for an important fact: it's proprietary and their licenses aren't cheap.

ColdFusion also suffers technically from most of the same reasons PHP is historically legitimately unpopular as a technical choice: confusing client-side and server-side markup in the same files, making it hard to share code cleanly between modules, often "encouraging" bad software architectures simply because they are the most convenient to page layout. (Certainly there are workarounds to such technical projects in both CF and PHP (and especially PHP today).

ColdFusion does everything that PHP does poorly, with the added bonus that you are paying for it, and there's never been the excuse that ColdFusion just runs "everywhere" like PHP had during the early internet.

Both PHP and ColdFusion have frameworks (Laravel and Coldbox for example) to address this. Without Rails or Sinatra, Ruby web apps would have the same problems.

I acknowledged there are workarounds/frameworks, and I especially recognized that modern PHP is often a different beast from classical PHP problems.

Ruby wasn't built to be embedded inside HTML, so I don't Ruby would have the worst problems of classical PHP even if Rails didn't exist, just as Perl (which both PHP and Ruby took inspirations from) even at its worst CGI architectures never quite had the same raw architecture problems that were rampant in early page-based mixed HTML and PHP design. The trade-offs for those architecture problems was development speed and "ease of use", PHP succeeded so well on the early internet almost precisely because of such problems.

ColdFusion too presumably succeeded as much as it did in Enterprise because of those problems in that space (easy to sprinkle a bit of server-side code in the middle of a page at will), though with no excuse for being free or easy to host. It's unfortunate that that also leads to the legacy of spaghetti code it will perhaps eternally have left behind in big-E Enterprise.

The proprietary nature of it has really stunted it in the long term. Students aren't learning it in school because there's plenty of free (in all senses of the word) alternatives available, such as Python or NodeJS.

I think the overall marketplace has shown pretty clearly that proprietary languages are doomed to insignificant market share at best, outright failure at worst. The writing was really on the wall when Microsoft opened up all of .NET.

CFML has had open source implementations for over 10 years.


Too late. It was already dying a decade ago. Two decades ago might have made a difference.

Wasn't speaking to that - only whether or not there are open source options. Being open source in and off itself seems to be a prerequisite, but it's more a matter of building a strong ecosystem (for example, imagine Ruby without Rails or node without npm), which never really materialized for CFML.

Got to love how much misinformation is being spread here. The ColdFusion language has multiple engines that it can run on. At least 2 of them are open source.

The most popular one I know is https://lucee.org/

Coldfusion has a unique place in the world of programming languages. In its prime it was a great way to get a website started with minimal effort, similar to PHP. Both PHP and Coldfusion let you create simple websites, easy to deploy, full of spaghetti code. But with PHP's free/open source model, enough people developed an interest in it outside of cubicle farms to really grow their knowledge and the language, unlike Coldfusion... which became a hotbed of corporate legacy code for junior developers to learn bad practices from.

Source: Was Coldfusion developer for approximately 10 years.

Yea... using a decent MVC framework like ColdBox or FW/1 should be required for CF development.

You are correct with the spaghetti code comment, but I've seen worse in Java.

Author, glad you don't care. You've failed to convince me that I need to learn cold fusion now or in the future.

Let me tell a story. I know of a billing system that was written in IBM RPG. Up until 2008ish, it was still being maintained and distributed. The guy that wrote it was the sole owner and maintainer of this billing company and swore up and down that RPG was the best language in the world and he'd never consider writing in anything else.

But guess what happened? He couldn't hire anyone else to maintain this system. Further, it was slowly and obviously decaying. Operating the system was a full time job for 2 employees. Eventually the companies using that software abandoned it for a solution that was maintained by a company that was both larger and had a workforce of more than 1. Those companies cut their billing staff to it being a part time job for just 1 person.

Why do I tell this story? Because you can literally replace "ColdFusion" with "RPG" and you'll have the same article that guy would have written. That guy's business is shutdown now.

Popularity IS important. Popularity feeds support and stability. The author is free to cling onto a language that, frankly, I thought WAS dead. But he'd be well advised to brush up on one of the more "Popular" languages and techs.

Minor quibble: it's spelled "ColdFusion." :)

Yea gotta love Java.

If using Coldfusion, I’d recommend scanning your sites with a service or product like Tenable Security. There are quite a few high priority exploits that we’ve seen over the recent years. These end up being available as one-click takedown type scripts in tools like Metasploit.

Foundeo has several CF-specific security products (scanner, firewall, and proactive scanner). I highly recommend.


Aggressive defensiveness of this calibre is not a good look and probably reinforces any stereotype people have of developers who would consider themselves ColdFusion devs. I don't think anyone would have a problem with someone who is a dev, that does cold fusion. but to act like that's all you are going to know and define your self that way is pretty lame.

I don't get how you could think "interpreted XML" was a good idea. Great, you don't need context switching the way PHP does it, but instead of properly splitting templates and code, ColdFusion still mixes both while managing to be less readable.

Added to that I feel unable to imagine a piece of indented 80 column wide XML that doesn't somehow curl up on the right edge. It's certainly not for me, but I won't tell you not to use anything.

Paraphrasing a thing I heard on the internet: XML is like violence, if it doesn't solve your problem, maybe you need to use ColdFusion?

CFML isn’t just tagged based. It also has a c-style syntax (cfscript). A best practice is to use cfscript for models and controllers, and tags for your views.

"Node is an excellent language to learn."

Am I the only one bothered by the author's repeated assertion that Node is a language?

I should probably just take off my "Well, actually," glasses.

I used CF in my first job more than a decade ago. It's not a terrible language. I'm a bit sketchy on the details (having been more than a decade ago) but I recall creating a custom tag that "magically" created an editor for DB row (which in-turn used a custom tag for editing any column). It didn't run in the browser, but, apart from that, it felt a lot like using React/Angular/Vue/Svelte/what-have-you. I quickly built up a library of custom tags, which worked really well in, what was essentially, a shop that was mass-producing websites.

The awesome thing is that I bashed it out in one week, starting from knowing no CFML at all. It was essentially me and my employer building websites (a 3rd or 4th dealt with IT), and he was successful with my work within one day.

It's dumb, it's boring, it's uninteresting, and those are seemingly features. I love Vue and Svelte with a passion, but it takes more than a day to become successful with those (and far longer to become wildly productive).

All of that being said, I don't care to go back to it.

"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"

Is that tongue in cheek?

Ah, Macromedia ColdFusion brings back memories. I did enjoy how quick it was to learn and modify pages. As long as Adobe continues to update, maintain, and market Adobe ColdFusion (they seem to have a good track record), it'll never be a "dead" language. There are advantages to corporate dollars.

Is their track record good with the security of their products?

I spent a couple of years making CF webapps - it was a wonderful experience. I wrote my own CFML interpreter for Linux at one point (before the Linux version existed), but never really finished it.

The popularity of a language does not tend to correlate well with how useful or good the language is for a given use, true. But it is not meaningless, either.

If a language is popular, then companies are more likely to use it, if only because the pool of engineers they can hire from is larger.

For example, two companies I've worked for have seriously debated shifting to Java. Not for technical reasons, but because Java programmers are easy to find, and often are cheaper. (Neither of them ended up making that shift, though.)

The google trend curve linked reminds me of the same graph for linux: https://trends.google.com/trends/explore?date=all&geo=US&q=l...

Linux is NOT dying, quite the opposite, but I guess since 2004 more and more non-technical people have come online who have nothing to do with linux.

Adobe is probably one of the companies who face decades of negative reviews yet remains highly profitable.

Great post...rabithole got me to this link and ...TIL https://www.adobe.com/products/coldfusion-amazon-web-service...

coldfusion has the coolest name of all the languages, I’ll give you that.

> Remember that thing called Ruby? You know, the scripting language powering Kickstarter, Soundcloud, Basecamp and Etsy?

I’m pretty sure Etsy is largely PHP. The creator of PHP works for them.

Was thinking about https://www.reddit.com/r/LENR/ for a second.

Is there something we can do to the title to distinguish the Coldfusion language with nuclear cold fusion? The title seems applicable to both and even the first paragraph could be misleading if you assumed the latter.

Isn't it obvious from the context in this case? (Why would nuclear cold fusion be unpopular?) Admittedly younger devs may never have heard of the language. I have never seen examples of it in the wild, but I remember one of my university lectures talking about how good it was for a balance of usability and scale-ability - back in 2000.

not to be glib but the fact that its Capitalized and one word rather than 'cold fusion', should be enough no?

I was also confused. I thought this article was about how the cold fusion hobbyist movement is dying down because the topic is becoming unpopular. Fusion and cold fusion are discussed from time to time here, so it is not super obvious.

On a forum dedicated principally to programming I assume languages, the same way I assume the same when talking about Ruby and Python. (Instead of gemstones and snakes)

Perhaps proper spelling/casing: ColdFusion. Though the title here mirrors the article's title.

Huh, is cold fusion still a thing? I thought it went the way of the bussard ramjet.

It says it's unpopular right in the title of the article.

I was talking about the nuclear version/free energy thing mentioned by the parent. The language itself is probably more popular than the "tech", at least it demonstrably works.

Cold fusion isn’t free energy - I don’t know where you got that idea.

It is the way you identify any of the innumerable scams involving the idea of cold fusion.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact