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