Saturday, March 20, 2010    
Home My Books Blog ColdFusion About Me Back    

Calendar
<< Nov 2005 >>
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

Search

Categories
 • Acrobat (3) [RSS]
 • Adobe (90) [RSS]
 • AdobeMAX06 (45) [RSS]
 • AdobeMAX07 (59) [RSS]
 • AdobeMAX08 (66) [RSS]
 • AdobeMAX09 (39) [RSS]
 • AdobeMAX10 (1) [RSS]
 • AIR (219) [RSS]
 • Appearances (191) [RSS]
 • Books (72) [RSS]
 • CFEclipse (15) [RSS]
 • ColdFusion (1381) [RSS]
 • Data Services (34) [RSS]
 • Fish Tank (5) [RSS]
 • Flash (197) [RSS]
 • Flex (498) [RSS]
 • Home Automation (5) [RSS]
 • Jobs (116) [RSS]
 • JRun (14) [RSS]
 • Labs (43) [RSS]
 • LiveCycle (34) [RSS]
 • MAX (232) [RSS]
 • Mobile (120) [RSS]
 • Regular Expressions (17) [RSS]
 • RIA (21) [RSS]
 • SQL (40) [RSS]
 • Stuff (536) [RSS]
 • Tips (CF Studio) (80) [RSS]
 • Tips (CF) (795) [RSS]
 • Tips (Dreamweaver) (91) [RSS]
 • Tips (Flex Builder) (2) [RSS]
 • Using CF (162) [RSS]

Other BLOGs
 • Charlie Arehart
 • Lee Brimelow
 • Ray Camden
 • Christophe Coenraets
 • Sean Corfield
 • Mihai Corlan
 • Cornel Creanga
 • Mark Doherty
 • John Dowdell
 • Danny Dura
 • Enrique Duvos
 • Steven Erat
 • Kevin Hoyt
 • Serge Jespers
 • Adam Lehman
 • Duane Nickull
 • Miti Pricope
 • Andrew Shorten
 • Ryan Stewart
 • James Ward
 • Greg Wilson
 • Full As A Goog

RSS Feeds
 • Feed
 • Subscribe

Join my mailing list and find out about new books and other topics of interest.

Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.

Viewing By Entry / Main
November 29, 2005

Comparing ColdFusion To .NET Is Not Apples-To-Apples

I spent a considerable amount of time today in two different e-mail threads, both from individuals trying to compare ColdFusion development to .NET development. So that I won't have to wade through all of this again any time soon, and in the hope that this discussion proves useful to others, I have extracted the core messages from both threads, and compiled them into this post.

Before going into specifics, there is a more fundamental issue that must be laid to rest. You have been asked to compare ColdFusion to .NET so as to determine the path for future application development. And frankly, what you have been asked to do does not make a whole lot of sense, and demonstrates a remarkable lack of understanding as to what exactly ColdFusion is and what .NET is not.

.NET is a platform and framework on which to build applications, and not just web based applications. .NET is the underlying engine which powers all sorts of applications (server apps, client apps, web apps, and more), and applications written for .NET leverage the .NET APIs to deliver needed functionality.

If you want to build .NET powered web applications, then you will likely do so using ASP.NET. ASP.NET (which is similar to classic ASP only in name) applications can be written in many languages, but VB.NET and C# tend to be the most popular. ASP.NET applications are collections of pages and controls that, together, create a complete application. And ASP.NET tends to be used to build the presentation tier of web applications (although that is not always the case).

ASP.NET applications are compiled and executed by a virtual machine, and at execution time the original language used to write the code becomes irrelevant. The application just runs, leveraging the framework within which it is running.

Of course, you can't do much with ASP.NET without knowing something about the underlying .NET world. But exactly how much of the guts you'd need to be aware of depends on what it is you are building and how you'd want to go about building it. Obviously, the more an ASP.NET developer knows about .NET and all it is capable of, the more he'll be able to leverage the power afforded by that platform. But that does not in any way suggest that simpler applications cannot be built without paying much attention to the .NET framework itself. (And indeed, Visual Studio .NET hides much of the underlying complexity from those who'd rather not pay attention to it).

So, .NET provides the framework and architecture, and ASP.NET is used to build web applications that take advantage of that underlying framework and architecture.

Now let's look at J2EE (or Java EE), an alternate and competing platform, created by Sun and supported by a whole slew of vendors and products. J2EE is a platform and framework on which to build applications, and not just web based applications. J2EE is the underlying engine which powers all sorts of applications (server apps, client apps, web apps, and more), and applications written for J2EE leverage the Java APIs to deliver needed functionality.

If you want to build Java powered web applications, then you have a few choices. You might use JSP which provides a page based scripting interface to Java based web applications. Or you may use ColdFusion which runs on top of Java. Both JSP and ColdFusion tend to be used to build the presentation tier of web applications (although that is not always the case).

ColdFusion (and JSP) applications are compiled and executed by a virtual machine, and at execution time the original language used to write the code becomes irrelevant. The application just runs, leveraging the framework within which it is running.

Of course, you can't do much with JSP without knowing quite a bit about Java. By contrast, you can do quite a lot with ColdFusion without knowing anything at all about Java, but you can do much more armed with Java know-how. The extent of Java exposure required depends on what it is you are building and how you'd want to go about building it. Obviously, the more a ColdFusion (or JSP) developer knows about Java and all it is capable of, the more he'll be able to leverage the power afforded by that platform. But that does not in any way suggest that simpler applications cannot be built without paying much attention to the Java itself.

So, Java provides the framework and architecture, and ColdFusion can be used to build web applications that take advantage of that underlying framework and architecture.

Do you see a pattern here? Comparing ColdFusion to .NET is a bit like comparing one vendor's finished car to another vendor's engine. It's just not apples-to-apples.

If you want to compare ColdFusion to .NET you have two avenues you can follow. You can perform a top-down comparison, first comparing the platforms (J2EE and .NET), and then comparing the web application development experience using ColdFusion on top of J2EE to that of using ASP.NET (on top of .NET). Or you can perform a bottom-up comparison, first looking at the development experience of ColdFusion and ASP.NET, and then comparing underlying architecture and platforms.

But either way, you need to separate the engine discussion from the application development experience discussion. Only then can you make educated recommendations and take defensible positions.

Oh, and for an overview of ColdFusion and how it relates to Java, see this post.

TrackBacks
Clearing my browser
Clearing my browser: I've got a lot of tabbed windows open, with interesting material for which I lack significant personal additions, but can write a short summary for each... you may find something of interest in the following webpages this...
Tracked by JD on MX | Tracked on 12/3/05 11:29 PM

No trackback URL. Trackbacks are only allowed via interactive form.

Comments

  © Copyright 1997-2009 Ben Forta, All Rights Reserved