Quantcast
Channel: RobDudley.com » coldfusion
Viewing all articles
Browse latest Browse all 12

What’s wrong with ColdFusion?

$
0
0

The ever awesome Steve Blades posed a simple question “What’s wrong with ColdFusion?“. I haven’t coded much beyond 10 lines of CFML in either ColdFusion or Railo for 18 months now and figured I could bring a constructive view to bear on the question as an outsider.

So I’m not going to dwell specifically on what’s wrong with ColdFusion but rather I’ll focus on what I would miss from my current tools if I were to switch back to full-time CFML / CFScript development.

1. Package Management

Yeah, yeah, tale as old as time. Ruby has Gems, Python has Pip, Node has NPM, Scala has SBT and PHP has Composer. The latter should be the real eye opener for the CF community – when PHP is doing it better than you are … it’s time to worry!

For me the days of searching for, downloading and configuring individual packages are long gone. Even when you have RIAForge organising those resources in such a convenient way I’d still want automatic versioning, environment control and updating for my packages.

2. A RESTful Micro Framework

I like FW/1, I like ColdBox but again, look at the major web languages and you’ll see a common trend. Almost every language these days has a RESTful (e.g. Front Controller driven) Micro Framework and most have at least two stable choices.

Combine something like Flask with Pip and you can have a basic API up and running in no time. And yes I know CF has “REST” support baked in but it looks pretty damn clunky to me especially when compared with the competition.

3. Cloud Deployment Options

Love it or loathe it the cloud is where it’s at for a lot of web app deployments. And not just a few scripted servers. PaaS for Ruby, Python, Node, Java et al are taking the web dev world by storm. ColdFusion needs to get on board with this new paradigm  for application hosting and it needs to ensure it’s up there with best of breed providers. Yes, Amazon’s Elastic Beanstalk kind of does the job but there’s way more work involved in packaging and maintaining your app than most would care for.

4. Command Line Interface

I can’t remember the last time I didn’t have to write some kind of command line segment for a project I was working on, be it backup, job processing or batching email. Baking these things into a control panel simply doesn’t cut it – I want my own code running these jobs in the way I see fit and that means I need to be able to run my apps from the CLI. Even when I was working with Adobe CF full time I still dropped to Python for administrative bits and pieces and with it I lost code reuse, language consistency and all the benefits of developing and administrating in the same language.

5. Consistency / Standards for Community Contributed Code

This is a little controversial but I’m loving the push in the PHP community (however painful) towards a set series of standard implementations for common tasks and a general level of agreement on coding standards. CF still has two different forms of syntax and lacks any kind of effort to standardise syntax, interfaces or even the use of interfaces!

Take a look at PHP The Right Way and some of the PSR docs to get a feel for what I’m talking about.

Those 5 are the core of what I think ColdFusion is lacking at this moment in time and the majority could be resolved by the community with, a little effort.

As for what I think is really wrong with ColdFusion? Well that would be a long post in its own right and I don’t feel I’m qualified to right it as I’ve been out of the loop for so long.

Suffice to say it boils down to one word … Adobe ;)


Viewing all articles
Browse latest Browse all 12

Latest Images

Trending Articles





Latest Images