I mentioned Sean Corfield’s thread on last week, it now has over 30 comments, and is very compelling reading.
But my own take on is a little different, let me explain …
was originally created to make ColdFusion more palatable to developers using traditional scripting languages (Perl was the example thrown around back then). The intent back then was to provide these developers with a syntax that they’d be more comfortable in, in an effort to sway them to consider ColdFusion. That did not happen. Why it did not is another subject (but at its simplest, PHP is the heir to Perl). And so we were left with a partially implemented that some ColdFusion developers loved but most ignored. That’s the history part of the post.
today is in a strange place. There is nothing that can do that CFML tags cannot do (which was not the case pre-CFMX), and there are no real performance gains in using (which, again, was not always the case pre-CFMX). It is not even ideally suited for creating UDFs anymore (UDFs created using tags are far more powerful and are generally preferred). It is now purely an alternative syntax to a subset of CFML functionality.
There are lots of enhancements that users want, all valid and all reasonable. And so with each new version of ColdFusion the team sits down to determine the features that will, won’t, and might make it in to the release. The process is a long and tiring one, it involves prioritizing requests, and assigning resource costs to each. Over and over again we have to weigh the relative costs and benefits of features so as to determine what is in and what is out (and yes, for every feature that is in something else is out). And without fail, every time we go through the process we look at all the requests and ask ourselves “are we better off adding feature X, something that cannot be done in ColdFusion currently, or improving what is essentially another way to do something that you can already do?”. And every time, without fail, we vote to add the new functionality. It’s not that we don’t see the value of , and more that we usually see it as less valuable than whatever we are weighing it up against.
That is not to say that we’ll never update , we have indeed made incremental enhancements where appropriate and justified. But complete language support for both tags and , well, having been through this many times by now, I just don’t see it happening any time soon. (Of course, this is my own opinion, others may feel otherwise, in which case we’ll be having lots more of those long and tiring meetings in the future).