Coldfusion 8 Beta Bigger

Coldfusion 8 has been released to public beta. http://labs.adobe.com/technologies/coldfusion8/

As the Allaire Macromedia Adobe product goes into public beta, the thing everybody can agree on is that there is more there than there was before.  More Ajax stuff.  More support for Flex.  More monitoring stuff.  It’s bigger than the last big release, and bigger than the release before that, which is the same for any language/framework.

All of this hints toward a basic underlying question.  What is Coldfusion, anyway?

  Is it a language?  Is it framework?  Is it a vehicle for pushing Flex onto unsuspecting customers?  Is it a training ground for Java programmers?  Is it on Rails? Or is it at the station waiting for the 5:15?  We can define it in terms of what it is, or what it does.  Where it came from, and where is it going.

  From my perspective, there are two Coldfusions.  The old Allaire product, written in C++, for a web space which had little more than CGI, perl and custom connectors in Java and C++ to drive with, Coldfusion 4 was extremely compelling.  At the time, I needed to put together a solution (quickly), and I wanted to look beyond Perl.  Coldfusion fit the bill, and I was able to put together a site quickly and nicely, and from that I drew attention from people who wanted to do the same (have a site up, and fast).  The database layer is simple and easy to administer.  The security is reasonably solid, and the scalability capability is there.  There were big boys playing with Coldfusion, so it seemed like it would not disappear overnight.  Microsoft’s ASP was another contender, arising the result of an acquisition of a competitor of Allaire’s.

  The second Coldfusion was (in my opinion) beta’ed with Coldfusion MX (aka 6).  I would not have run anything on production on Coldfusion MX.  Coldfusion 5 had everything I needed from CF, so CF MX was for the lab, for playing.  It was not until CF MX 7 was released that I considered this new Coldfusion to be a solid product.

  As far as the language/framework question goes, it’s all a question of how you define language and how you define framework, and that is based on assumptions and other factors.  I think basing the distinctions based upon those features of a language or framework or other construct may be more accurate (but not quite so efficient).  A language exists for the purpose of transferring information and data from one domain to another for processing.  The rules governing the mechanisms for doing so, the syntax and essential protocols, that could be the limit of the language domain.  Some expressions or manifestations of the language in the form of characteristic structures or linguistic phenomes could be considered to be so intrinsic that they are parts of the language itself, and so I will often include that into the “core” language.  Beyond that, there are domain specific constructs, dialects or colloquialisms, which could be called extensions of the language, or libraries.  If they change, with a specific structure or a set of complementary structures, the approach to solving a problem, or transferring information and data from one domain to another, then perhaps they are more a framework.

  Given that quick and dirty explanation (or in spite of it), I consider Coldfusion running on the Java platform (the second Coldfusion) to be a framework for Java.  I don’t have any strong opinions, as this is a didactic discussion, with no deep  implications.  I’ve loosened up a bit and am quicker to forgive the slight malopropism and get on with things.  The discussion of the distinction between language and framework *is* an important one to have, not for the sake of the conclusions that are reached, but rather for highlighting the elements or properties of each set, where those roles exist and how they play their part in making systems go.

  While not central to the discussion it is notable that the recent arrivals in the web programming arena have been from beyond the shores of the U.S.  Ruby and Python both have origins in Japan.  PHP had an interesting journey from Denmark, then through Israel for PHP 3, and for Zend.  And then the IDE’s Eclipse and Netbeans both come from Prague.  That international influence is a sharp contrast to the “old days.”  The old players are mostly American: Microsoft, Sun Microsystems, Adobe (And Allaire was American, as was Silicon Beach Software, the original creators of Flash).  The important thing to note about this is that it is just one more feature of the break from “tradition” that was Microsoft, IBM, Apple, Adobe, HP…  one more characteristic of Web 2.0.  And Adobe has to face the challenge by moving forward with its initiatives, the CF8 public beta being a key component of that.  Businesses will continue to look for what best supports their business initiatives.

  From a functional perspective, the language/platform has to be measured in terms of what it is trying to achieve, or what problems it is trying to solve, and its effectiveness in doing so.  The functional perspective could include the ability to access  databases quickly and reliably (possibly including ORM), and the ability to support the current web client side demands (Ajax, Flex).  The list goes on.   This release of Coldfusion and libraries achieves a big list check off for many items which have been lacking in the Coldfusion realm, and seemingly ubiquitous in other platforms (visa vi image processing).  But the functional perspective alone does not make up the complete picture.  Customer acceptance (external marketing), a skilled and motivated developer base (internal marketing), and a clear product roadmap would go a long way for the Coldfusion community.

Advertisements

2 Responses to Coldfusion 8 Beta Bigger

  1. If you consider ColdFusion a framework for Java, how do you view the other languages targeting the JVM? JRuby, JPython etc. There’s even a full Java implementation of PHP. All compile a non-Java language down to Java bytecode and execute it. Some of them also have javax.script implementations so you can actually embed the non-Java language directly into your Java application and execute it “natively”.

    How are those any less “frameworks for Java” than ColdFusion?

    The same is true in the .NET world – a number of languages are targeting the CLR in a similar way to what has been happening in the Java world. With Microsoft’s announcement of the DLR, that will accelerate and non-C# languages will be closely intermingled with “standard” .NET langauges.

  2. howardscholz says:

    I glossed over the fact that many/most of these packages contain a little bit or a lot bot of framework along with their language. The statement regarding Coldfusion could be applied just as easily to the rest that you mentioned, and in not saying so, it seemed I was singling out Coldfusion. That was poor use of English on my part.
    With Borland C++, and MSVC, it was very explicit that they were releasing 1) an updated IDE, 2) an updated Library or Framework (be that OWL or MFC), and 3) updates to the language, and so even in C++, the packages became more framework than language.
    With this Coldfusion 8 release, the bulk of the additions and changes are in the supporting libraries and added CF tags, and not changes to the underlying language/framework. There aren’t new items like Cfscript, or UDF’s, or other ways that fundamentally alter how we can express our descriptions.
    But given the weight of the frameworks and libraries that languages have available to them, and their importance in being able to deliver solutions quickly, it’s near impossible to separate the language and core libraries/framework.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: