Kevin,
It’s awesome to see CF being blogged on something as ubiquitous and far-reaching as SitePoint… it’s always great to see you guys or Tech Republic carry our brand.
There are a few things I’d like to point out, though, that you seem to have missed in the process of writing this article. Let me see if I can give you a bit more insight:
#1: 95% of the ColdFusion userbase uses at most 10 tags, keep no separation between business logic and display, embed SQL in their display pages, and have sites that consist of 3-10 pages. These sites work, solve their users’ business needs, allow a non-technical person to keep their online presence going, and haven’t been subject to hacks or exploits to any great degree.
That means that, for most people, new features are moot. It also means that the sites would probably not have gone online were CF not available. So as far as stagnancy is concerned, I don’t think “traditional” metrics apply. Since CF’s primary target audience is non-technical by nature, suggesting that people learn Java when getting into web-development is missing the point. They’re non-technical and staying that way and yet CF gives them a way to get their message online with a minimal amount of technical skill.
#2: You’ve missed out on new features that have come along since version 4.5, like cfcharts, XML manipulation, access to Java without the requirement of Java, cfdocument (PDF and FlashPaper direct from within CF), and, yes, event cfreport… which may not handle extremely complex reporting, but it’s more than enough for most reporting needs. As far as cfreport is concerned, even Kay admitted that her use case was an edge case and that the bugs she found were to be fixed in the next point release (which has since come out). Various other tags, like cftimer, cftrace, cflog, have all been included… and since the mantra of the ColdFusion world is “making hard things easy” it’s safe to say that it’s doing it’s job admirably.
Let’s not forget cfcomponent, cffunction, and the crazy things that we’ve been able to do with the power of an OO construct in a loosely-typed runtime language. I’m involved with ColdSpring, ModelGlue, ModelGlue:Unity (which is actually MG 2, btw… you seemed to have missed that in your mention of the frameworks above), Reactor, Fusebox, Mach-II (though less with M2 of late)… Transfer, and dozens of other tools have been coming out of the CF community. We’re a crazy bunch and we’re very earnest about building tools that will really help the technology grow… so they really should be factored into the equation when you’re talking about whether the platform has stagnated or not, because without the advancements in the language, the tools would not have been written…
#3: ColdFusion is a language and a platform. It’s a J2EE server product that works like any other J2EE server, allowing us to install any number of other J2EE apps into the same server context and using the features and benefits they provide. It’s also a language that allows us to create middleware and display code quickly and easily. You many not LIKE how it works, but please don’t label it stagnant… Adobe/Macromedia/Allaire have put vast amounts of time into discerning their primary clientele’s preferences and priorities and if image manipulation didn’t make it into the platform till v. 8 chances are it’s because there were other priorities.
#4: The things that make CF a far richer and more exciting technology than most were never mentioned in your post: cfmail, cfhttp, cfftp, cfpop, cfldap, cffile and cfdirectory. AXIS integration for instant connection to most webservices (there are a few, even some key webservices that have issues with the AXIS engine in CF, but there are various reasons for that). Remoting for Flash clients, Flex clients, and remoteable CFC methods allow us to provide a single CFC that can service other CF clients, AJAX and webservice clients, and HTTP calls via POST or GET operations. The power of J2EE means that JSP and CF tags are interchangeable, and CF and JSP can share application, session, and even variables scopes.
The fact that CF can be used as a loosely typed OO language, a procedural language, or a hodgepodge of the two make it flexible, powerful and vastly more capable language than any others of which I am aware.
At least in my opinion ColdFusion is anything but stagnant, and that by the only really reliable metric one can use: how active is the community. Are the bloggers blogging? Are the readers reading? Are there jobs and, more importantly are there more jobs now than there were last year? Are there more conferences available and is attendance at them climbing? Considering that in 2005, Macromedia saw its first all-CF sale that totalled more than 1 million dollars, it seems the product is selling well. And frankly, when you can spend $5000 on a J2EE server that does everything CF can do or $10,000 on a J2EE server that can do everything CF can do, it really makes you wonder how “free” the alternatives really are. As others have pointed out, the IDE costs for MS products and the hidden costs of PHP development (especially when Zend sells it’s Zend Engine for substantially more than CF and touts it as “the only way to do Enterprise-class development in PHP”), you have to sit back and ask yourself what’s really going on.