The Dopefly Tech Blog

<< The Dopefly Tech Blog Main page

ColdFusion is a DSL

posted under category: ColdFusion on April 12, 2008 at 1:00 am by MrNate

There, I said it. I'll say it again. ColdFusion is a DSL. A Domain Specific Language.

What does that mean? Is it still a programming language? It means it's a programming language meant to solve a specific problem, and solve it well. It's meant to be limited. It's meant to do one main thing, to solve one problem.

Sorry, let me say that agin. ColdFusion was meant to be limited. It's not a good tool for desktop applications. It's not a great language for managing huge amounts of data. It's not the platform of choice for creating build systems. It has never been used to compile itself (afaik). It has its limits, and they should not be crossed. Of course, to mix metephors, if all you have is a hammer, make lemonade until the cows come home, by all means.

ColdFusion is meant to be the dream language for web applications. Its original goals were to make your HTML web site database-enabled and dynamic. That goal was basically perfected with version 1.0 and the cfquery tag.

That's why we use it, people. That's why we like it. It's a DSL for HTML.

Now granted, it's so much more, now. It's been called the duct tape of the internet. No other platform that I've used can so easily and quickly connect things and people together. CF has really grown up, especially in the last few years. It has ways to add extensions to the language itself. It has added OO. It interacts with Java, .NET, C++, SMS, email & email servers, http, ftp, exchange, directory services, file systems... 98% of everything you need to build a successful web app, for nearly any purpose. As I said, it's so much more, now, but it is still, in essence, a DSL.

It solves the problem space almost perfectly. For HTML jockeys like myself, it was a natural extension, some 10 years ago now. It's not everything, but it doesn't need to be. It's not supposed to be. I hope it never is. But, for what it does, nothing beats it.

Too old to comment!
On Apr 12, 2008 at 1:00 AM Gary F ( said:
When I saw the title of this blog entry I thought "oh no, here we go again!" DSL = dying scripting language. It's good to be wrong. ;-)

CF is definately not a Domain Specific Language, more so if it's used to power a web service. I don't think we need the term DSL, it's a bit like the terms Web 2.0 or AJAX. They're inaccurately used, rather gray, and much clearer terminology can be used in their place. Buzz words, eh.

On Apr 12, 2008 at 1:00 AM Joe Rinehart (joe who really likes said:
Absolutely, positively one of the most intelligent posts I've read that are about both DSL's and ColdFusion.

On Apr 13, 2008 at 1:00 AM Mike Rankin ( said:
And Windows is not an operating system. It was meant to be a graphical shell for DOS.

Software evolves.

On Apr 14, 2008 at 1:00 AM Ryan Wood ( said:
Excellent post. You hit the proverbial nail on the head.
Too old to comment!