Like I said ... ColdFusion works. In fact, the CFML approach is an extremely clever one ... and its implementation (here/s to you, Adobe, and/or to whomever you bought it from ...) is downright "shrewd." If you want to quickly implement a web-site or an application server that will handle a lot of users and that will "scale-up" without having to be reimplemented, you'd be hard pressed to find a better solution. It isn't immediately obvious at first glance why this should be so. A ColdFusion page, after all, looks a whole lot like PHP or something similar. But here comes the great-big difference: how the CFML page is used by the ColdFusion engine. Also: ColdFusion is fundamentally designed to be an application server, not a web-page server. A CFML page is, effectively, "an XML document." It does not use XML namespaces in the now-accepted way because (uhh...) it was invented and on-the-scene before that idea came about. But that's what it is, and it's used as an input to a just-in-time (JIT) compiler. The CFML code is an XML tree-structure which is (very quickly!) parsed and understood so that the JIT compiler can on-the-fly generate the appropriate code for fast execution. The ColdFusion application server(s), far from being "a general provider of any ol' web-page," (is|are) keenly aware of what each page is doing. ColdFusion provide a wide variety of features ... threads, shared storage, load balancing, fulltext indexing, links to surrounding programming environments ... some of which are made available implicitly. That is to say, without demanding a substantial change to the application code. The CFML text is, to some degree, declarative. It has a certain over-arching sense of "timing" which flows generally from the top of the source-file to the bottom, but a <cfinput> tag (for example) declares what behavior is desired at that point. The <cftransaction> tag stipulates that all of the code that it encloses should abide by certain characteristics at execution-time. There are many other examples. And what the ColdFusion system does with that information, at execution time, in order to accomplish the specified result, is not entirely spelled-out step-by-step in the CFML. It's determined on-the-fly, based not only on the source-code but also on the context. That is "what all the fuss is about." You can deploy pages very quickly, into a very robust programming environment, and know that they will work on both a small internal site and a very large multi-server enterprise site, "right out of the box." As a tool to do what ColdFusion is designed to do, it is very hard to beat. There is a tremendous business need out there for "doing precisely what ColdFusion is designed to do." It might or might not be glamorous in the eyes of a fourteen year old , but it is crucial.
... View more