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.
> "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 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.
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.”
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.
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?
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:
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.
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.
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.
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.
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.
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.
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.
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"
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.
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.)
[+] [-] jasode|6 years ago|reply
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.
[+] [-] devoply|6 years ago|reply
[+] [-] badrequest|6 years ago|reply
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.
[+] [-] smacktoward|6 years ago|reply
> 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.
[+] [-] newshorts|6 years ago|reply
[+] [-] amyjess|6 years ago|reply
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.
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] PPPPPPPPr|6 years ago|reply
[deleted]
[+] [-] bdcravens|6 years ago|reply
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.
[+] [-] HillRat|6 years ago|reply
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.”
[+] [-] 0xDEFC0DE|6 years ago|reply
Is Adobe Experience Manager eating Coldfusion's lunch that you could tell?
[+] [-] vkhn|6 years ago|reply
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.
[+] [-] bdcravens|6 years ago|reply
[+] [-] tptacek|6 years ago|reply
(Obviously: don't use ColdFusion).
[+] [-] bdcravens|6 years ago|reply
https://www.foundeo.com
https://www.adobe.com/content/dam/acom/en/products/coldfusio...
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:
https://helpx.adobe.com/support/programs/eol-matrix.html
[+] [-] borkyborkbork|6 years ago|reply
[+] [-] ryanlol|6 years ago|reply
[deleted]
[+] [-] eljimmy|6 years ago|reply
ColdFusion is also unpopular for an important fact: it's proprietary and their licenses aren't cheap.
[+] [-] WorldMaker|6 years ago|reply
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.
[+] [-] CydeWeys|6 years ago|reply
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.
[+] [-] borkyborkbork|6 years ago|reply
The most popular one I know is https://lucee.org/
[+] [-] shagmin|6 years ago|reply
Source: Was Coldfusion developer for approximately 10 years.
[+] [-] borkyborkbork|6 years ago|reply
You are correct with the spaghetti code comment, but I've seen worse in Java.
[+] [-] cogman10|6 years ago|reply
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.
[+] [-] james-skemp|6 years ago|reply
[+] [-] borkyborkbork|6 years ago|reply
[+] [-] sbr464|6 years ago|reply
[+] [-] bdcravens|6 years ago|reply
https://foundeo.com/
[+] [-] xtracerx|6 years ago|reply
[+] [-] mar77i|6 years ago|reply
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?
[+] [-] bdcravens|6 years ago|reply
[+] [-] sampleinajar|6 years ago|reply
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.
[+] [-] zamalek|6 years ago|reply
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.
[+] [-] cafard|6 years ago|reply
Contrast this with Adobe Coldfusion, with four major releases since 2012"
Is that tongue in cheek?
[+] [-] hashberry|6 years ago|reply
[+] [-] wglb|6 years ago|reply
[+] [-] convivialdingo|6 years ago|reply
[+] [-] JohnFen|6 years ago|reply
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.)
[+] [-] est31|6 years ago|reply
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.
[+] [-] leowoo91|6 years ago|reply
[+] [-] cryptozeus|6 years ago|reply