8 ms·
Coldfusion is “Unpopular” – I don’t care
- bdcravens 7y agoI'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.
- 0xDEFC0DE 7y ago>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?
- bdcravens 7y agoNot 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.
- HillRat 7y agoTo 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.”
- pwnna 7y agoIs 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.
- torkable 7y agowell one is real and the other is not so you could start there lmfao
- DtnB 7y agonot to be glib but the fact that its Capitalized and one word rather than 'cold fusion', should be enough no?
- collyw 7y agoIsn'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.
- bdcravens 7y agoOn 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)
- sergj 7y agoI 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.
- wmblaettler 7y agoPerhaps proper spelling/casing: ColdFusion. Though the title here mirrors the article's title.
- 7y ago
- jasode 7y ago>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/ 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 7y agoOTOH, 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.
- bdcravens 7y agoI definitely see better rates for CF contracting. I’m sure the same is true of FORTRAN.
- guitarbill 7y agoWeirdly 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.)
- eljimmy 7y agoI 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.
- WorldMaker 7y agoColdFusion 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.
- bdcravens 7y agoBoth 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.
- WorldMaker 7y agoI 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.
- tptacek 7y agoA 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).
- ryanlol 7y ago>Maybe you've weathered the storm Not if the decade-old bugs keep coming back https://www.exploit-db.com/exploits/16788 https://www.exploit-db.com/exploits/16788 https://www.exploit-db.com/exploits/45979 https://www.exploit-db.com/exploits/45979
- bdcravens 7y agoAs 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. https://www.foundeo.com https://www.foundeo.com https://www.adobe.com/content/dam/acom/en/products/coldfusion/pdfs/coldfusion-2018-lockdown-guide.pdf 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 https://helpx.adobe.com/support/programs/eol-matrix.html
- wglb 7y agoScanners and WAF are, in general, not useful security tools.
- borkyborkbork 7y agoWhen you say archaic are you saying that the language hasn't been kept up to date? (If so you would be wrong)
- 7y ago
- vkhn 7y agoThe 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.
- bdcravens 7y agoTo be fair, there is an open source implementation. (We’ve run Railo/Lucee for years on our old CFML code)
- vkhn 7y agoYou're right of course, but I'm betting that development didn't start with the open source implementation.
- borkyborkbork 7y agoWe'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.
- jaequery 7y agocoldfusion has the coolest name of all the languages, I’ll give you that.
- hashberry 7y agoAh, 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.
- wglb 7y agoIs their track record good with the security of their products?
- badrequest 7y ago> "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.
- deleted 7y ago[deleted]
- smacktoward 7y agoThe 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.
- CydeWeys 7y agoI'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?
- est31 7y agoThe google trend curve linked reminds me of the same graph for linux: https://trends.google.com/trends/explore?date=all&geo=US&q=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.
- lcfcjs2 7y agoOf course people who are experts in CF like CF. They get to blackmail companies for thousands an hour because no one else knows how it works. It's call "modernizing", and it's not the devs fault that companies are unwilling to modernize and pay triple what they would if they used something that wasn't ancient and redundant.
- shagmin 7y agoColdfusion 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.
- borkyborkbork 7y agoYea... 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.
- xtracerx 7y agoAggressive 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.
- bigpoo 7y agoBig Poo would rate CF a 5 out of 7.
- leowoo91 7y agoAdobe is probably one of the companies who face decades of negative reviews yet remains highly profitable.
- cryptozeus 7y agoGreat post...rabithole got me to this link and ...TIL https://www.adobe.com/products/coldfusion-amazon-web-services.html https://www.adobe.com/products/coldfusion-amazon-web-service...
- donatj 7y ago> 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.
- est 7y agoWas thinking about https://www.reddit.com/r/LENR/ https://www.reddit.com/r/LENR/ for a second.
- spork12 7y agoWell, you have to pay for the runtime. That makes it pretty hard to compete. That business model works fine for things like Adobe's Creative Suite where there aren't many good free alternatives, but it's not very good for programming languages and web frameworks. A lot of the momentum in things like JVM/React/Angular/Rails/Django/.NET came from them being free to use. Free to use has historically lead to a rich community, and an eldorado of open source libraries.
- convivialdingo 7y agoI 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.
- sbr464 7y agoIf 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.
- bdcravens 7y agoFoundeo has several CF-specific security products (scanner, firewall, and proactive scanner). I highly recommend. https://foundeo.com/ https://foundeo.com/
- zamalek 7y agoI 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.
- mar77i 7y agoI 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?
- bdcravens 7y agoCFML 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.
- cogman10 7y agoAuthor, 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.
- borkyborkbork 7y agoYea gotta love Java.
- james-skemp 7y agoMinor quibble: it's spelled "ColdFusion." :)
- cafard 7y ago"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?
- sampleinajar 7y ago"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.
- JohnFen 7y agoThe 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.)
- draw_down 7y agoLet’s stop acting like caring about this is a sign of being a prima donna, or chasing shiny things. Programming languages are basically the same. They’re abstractions over what a CPU does. It makes sense to choose the one that offers the greatest number of options professionally. There is no particular honor in sticking with a language after most others have moved on. We’re all just building stuff that’s gonna get thrown in a ditch sooner or later anyway. Use CF, go nuts, do whatever you want. But do it because you want to or for some actual reason, not because it isn’t Node. I’m getting tired of seeing this kind of stuff.