Hacker News new | ask | show | jobs
by bdcravens 2585 days ago
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.

2 comments

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.