View Full Version : ASP.net vs. Cold Fusion (a comparative)
fastedge
10-24-2003, 04:35 PM
Howdy folks. Today in my companies weekly web meeting one of the company heads wanted to know why we wheren't using ASP.net instead of Cold Fusion for the development of our web sites. Apparently some consultant was whispering sweet dot.net in his ear.
So, the question is what are the major differences? What can I do with one that I can't do with the other. I need practical information that I can present to the powers that be one way or the other.
Thanks allot,
Ed Mercado,
Webmaster,
www.bigfive.com
bhopkins
10-25-2003, 12:17 PM
Ed, I have used both of these so maybe I can give you a little insight. Cold Fusion is a decent scripting language, but it does not really use advanced programming principles and an effecient way for code re-use. I understand the Macromedia is working to resolve some of this by tying the platform more closely to JSP, but that comes at the expense of speed. With asp.net you can define a few classes to do the majority of the DB access stuff and then just call the compiled dlls when you need the functionality. THe new version coming out some time next year will even take this to a much higher level than it is now. If you would like a view of some of the stuff that can be leveraged with Asp.Net then I suggest you take a look at http://www.dotnetnuke.com it is an open source app that will show you some of the power of asp.net and VB.Net. In addition to the portal system their is also a growing list of free and paid modules and enhancements you can use for the system. There is several free modules on my site you can download if you just want to get a feel for some of the things you can do with this. Also on the dotnetnuke site there is a pretty good list of modules others have created.
AlanMCSD
10-26-2003, 02:09 PM
There is no better tool right now for doing web applications, xml web services, you name it.
You use server controls instead on html controls and the .net run time generates the html.
When you recieve a post back the controls are re-created so you get object access to html controls.
Like
<asp:TextBox runat="server" id="txtEmail">
would create <input type="text" id="txtEmail>
then on a postback the control is recreated so you get oject access to it.
Like
form.txtEmail.text
Server code is contained in a seperate file from the aspx page - isoloating the code from the UI - makes everything nice and tidt.
I could go on all day - but after 4 years of dealing with spaghetti in asp, I am loving .net.
mdinowit
10-28-2003, 03:11 PM
I've been doing ColdFusion since before Asp was iBasic. CF allows for faster development with less code and the result is code that is easier to understand by a human being. Yes, Asp is powerful but there's really not much it can do more than CF. The question is where your coming from.
CF was written from the ground up as a peoples language for the net. This means that its easy to learn, easy to use and easy to understand.
Asp was basically a port of VB to the web (VBScript). It requires 'real' programming knowledge, something not necessarily needed by CF.
Bottom line is that Both are good languages, both do the job and both are worth using. CF requires less code and coding time while Asp has the MS name and the myth of being free (the CF server costs while Asp is part of IIS).
If you search google on this topic with a focus on the site:houseoffusion.com you'll find many mailing list threads from CF-Talk where this issue has been examined to the most minute detail.
Just as a note, CF has multiple ways of efficient code reuse, web services, programatic constructs, custom tags/functions/objects, etc. As I said, there's very little that Asp has over CF feature wise and I can back that up point for point if need be. :)
I would go with CF. You get to code quickly with a lot of code reuse. There are many free add ons, like e-mail sending ability (1000000 per hour - industry strength).
Anything from MS ties you to their platform, if Windows goes down you go with it.
Go to www.macromedia.com and see their migration page from asp to CF (by Ben Forta). It shows how much less typing you have to do in CF. MS always over-complicates things.
If you want to do something complex in CF you can always use Java technology that is an industry standard unlike Visual Basic or some other MS-only technology.
Of course, if you own a lot of MS stock, go with their product, through you will be less productive.
TK
AlanMCSD
10-28-2003, 03:22 PM
I suggest you read the topic.
ASP.NET is nothing like ASP. Being a veteran developer myself I have used a variety of tools as well. And I can tell you first hand, that if I do not have to leave the .net world, I won't.
ASP - ugly spaghetti code filled with include files and script.
ASP.Net - totally object oriented, compiled code, web form controls - <asp:Textbox runat=server> gives you an object.
Web user controls - no more include files - plust they are compiled
Don't knock it till you try it.
CF is also quite OO and produces nice, clean code. However, it is far simpler than asp.net to learn, operate and use.
I would love to see a competition on the web between people using CF vis PHP vis asp .net
I think that especially in the area of web services CF would be in a class on its own (a leader) compared to the competition. Hit MS where it hurts :)
TK
mdinowit
10-28-2003, 03:30 PM
ASP.NET is nothing like ASP. Being a veteran developer myself I have used a variety of tools as well. And I can tell you first hand, that if I do not have to leave the .net world, I won't.
Yes, they are different but in the specific place that I'm looking they are the same. Asp.Net code is large, cumbersome and long winded rather than being direct and to the point.
I just reviewed a book teaching people how to do basic DB work using dreamweaver and both CF and Asp.Net. The code shown did not make Asp.Net look any better than its ancestor.
How many lines does it take to output a formatted date in Asp.Net? According to the book it was more than 4 (based on memory) while CF needs a single line.
Adrocknaphobia
10-28-2003, 03:44 PM
Cold Fusion is a decent scripting language, but it does not really use advanced programming principles and an effecient way for code re-use. I understand the Macromedia is working to resolve some of this by tying the platform more closely to JSP, but that comes at the expense of speed.
bHopkins, you couldnt be more wrong. I suggest you check out the latest version of CFMX which is 175% faster than CF5. Not only do we have _tight_ integration with JSP but the server is tremendously faster now. There are a number of methods and architectures built for CF to maximize OO design and code reuse. I suggest you check out the Mach-ii Framework.
What about server costs? New Atlanta offers a Cold Fusion server dubbed Blue Dragon at _no_ cost, while boasting great integration with .NET.
Oh wait... don't forget Flash Remoting! CF is the easiest way to integrate your server side with client side Flash applications aka. Rich Internet Applications.
CF is platform idependent. Your shop doesn't have to be locked into an OS vendor. It'll run on windows and any j2ee server.
Finally, the CF developer community is the best around.
webappermb
10-28-2003, 04:52 PM
I would just like to add that using ColdFusion with either Fusebox or Mach-II (if ColdFusion MX and OO structured) brings a recognizable and well-used framework to developing Web Applications. The ever improving integration between Flash and CF is another area where .NET does not quite have the same level of GUI facility. One more point (Blue Dragon excluded) people are still prepared to purchase CF Server, that in my opinion is a big vindication as to the efficacy of ColdFusion for reasons that are well documented in this thread.
bhopkins
10-28-2003, 08:16 PM
Adrocknaphobia, I have to disagree, and I'm not wrong. There has been several third party tests comparing JSP to Asp.Net and .Net beats it in every aspect expescically speed. The main reason for this is the CLR that ASP.Net has. Both languages need to be interputed by the compiler, but the difference is because of the CLR ASP.Net only needs to do it once per re-compile. Jave needs to be interputed every session. Now its true I have not used CFMX hardly at all and the main reason is this I found .Net.
Now someone mentioned that you may have to write more lines in .Net than CF to do the same thing. I think this is probably not the norm, but even if it is in some cases .Net still wins because I can write a class and use it over and over again from any where on a wide range of applications. I could never do that with CF5 even using the Fusebox methodology. You can build a framework with ASP.NEt that will allow you to create sites in a lot less time than you can with even copying and pasting previous CF code. Naother thing is suppoes you need a form. In .Net I can create a user control over ridie it at runtime and create the functionality to do what ever I need. I can then drop this control in any place where I need this functionality and have it perfomr as expected. Show me how to do that in CF.
I'm not basing CF, there was a time when I really loved it and I still think its probably a good language for HTML programmers that do not have any strong OO experience. You can write bad code in ASP.Net just like you can in Java, CF, PHP, or any other sort of language. Its up to the developer to make the language perform the best it can. I have written some pretty intense CF apps that were really cool in their day, but that day is over.
As far as being tied to one platform. Do a search on sourceforge for Mono and you will see .NET isn't tied to IIS as much as you may think. There are quite a few of the Mono developers at PDC giving demonstrations right now.
If you want to code in CF, then I say knock your self out, but me I've used both and I choose ASP.Net until something better comes along, like maybe Asp.Net 2.0 of which I was lucky enough to beta test. If you plan on staying in this business long then you may want to take a long hard look at either Asp.Net or pure JSP, in my opinion most of these others will be considered legacy before two much longer anyway.
One more thing before I go. Is Macromedia really any better than MS? Have you seen the price of Studio MX 2004? 900 bucks, they have got to be kidding. I can buy a copy of VS.net and a copy of Windows Server for less than that. In my eyes they are both the same, they both take advantage of the developers who have put them where they are. Why because they know we have to spend the money on their products to stay competitive.
If anyone wants to rebut this then make sure you spend some time at http://www.asp.net and make sure you understand the capabilities of asp.net, because I can assure you I definently know what its capable of.
Bruce
Murat
10-29-2003, 05:09 AM
ColdFusion MX makes you much more productive than ASP.NET. With ASP.NET you probably encounter some problems:
1) Bad design: Microsoft doesn't provide a strong designing tool for your web sites. vs.net is unsuccessful in design phase.
2) Unreliable site management: There is no good product to manage your web site by microsoft.
3) Longer learning curve: ASP.NET is easy for traditional desktop application developers but ColdFusion MX is much more easy for everyone.
4) Missing capabilities: You probably need to buy other microsoft and 3rd party products to build a complete project like windows 2003 (indexing service, pop3 service), sql server, chart controls, grid controls, etc.
5) Insecure: microsoft's products are insecure, you already know this.
6) Ulterior motive: if you use a microsoft product you have to use other microsoft products...
Although ColdFusion MX and Studio MX04 is a bit expensive, they are the best products in their areas.
For more information: http://www.macromedia.com/devnet/mx/coldfusion/articles/cf_aspnet.html
Murat.
ToyMachine
10-29-2003, 09:09 AM
There has been several third party tests comparing JSP to Asp.Net and .Net beats it in every aspect expescically speed.
Hey, I'm just wondering - are you using JSP in your comparison and not cfm becaue CFMX compiles to java bytecode and is therefore essentially a .jsp page? I thought the .cfms called the .class files directly. Perhaps that is the same thing that a jsp file does. Can you clarify this point and/or cite any studies? Please explain.
The main reason for this is the CLR that ASP.Net has. Both languages need to be interputed by the compiler, but the difference is because of the CLR ASP.Net only needs to do it once per re-compile. Jave needs to be interputed every session.
Are you sure? Again, I'm just curious, but I didn't know that class files need to be interpreted every session.
Now someone mentioned that you may have to write more lines in .Net than CF to do the same thing. I think this is probably not the norm,
I come from a VB/VBA background, ergo I would have thought ASP would work better for me. However, I prefer CFM because I can just plain do things faster. I've done both ASP and CFM, but no .Net, however.
but even if it is in some cases .Net still wins because I can write a class and use it over and over again from any where on a wide range of applications.
Are you saying you could write a form in asp.net and then just copy and paste that code into a VB desktop app? If that is the case, how hard would it be for me to convert my accounting package I wrote in VB/VBA to VB.net and then export it into an identical asp.net internet application? I've been meaning to take a run at Quicken; if what you're saying is true and it is this simple, maybe this is my chance :). I've been deliberating over rewriting my app in Screenweaver, but perhaps that is not the way to go.
Naother thing is suppoes you need a form. In .Net I can create a user control over ridie it at runtime and create the functionality to do what ever I need. I can then drop this control in any place where I need this functionality and have it perfomr as expected. Show me how to do that in CF.
I'm confused. What part about code reuse isn't doable in CF? Couldn't I just write a custom tag to do the same thing? Or call a CFC? And you seem familiar with methodologies - what about Mach II and code reuse? Or even Fusebox 4?
I'm not basing CF, there was a time when I really loved it and I still think its probably a good language for HTML programmers that do not have any strong OO experience.
I think someone else touched on this, but CFMX, particularly 6.1, is quite OO.
One more thing before I go. Is Macromedia really any better than MS? Have you seen the price of Studio MX 2004? 900 bucks, they have got to be kidding. I can buy a copy of VS.net and a copy of Windows Server for less than that.
Studio MX 2004 is 900 and you get Flash MX, Fireworks MX, Freehand MX, Homesite+, Dreamweaver MX, and ColdFusion. Do all of these tools or similar ones come with Visual Studio.net?
"I'm not bashing CF"...
...And I'm certanly not bashing .Net. I just love CFMX and the Macromedia Studio line. I'm leveraging Java with ease and my Flash Remoting and Rich Internet apps are coming along nicely. DWMX is still not my cup o' tea but it's nice to have such tight package integration between FW, Flash, and DW. And Homesite is still my favorite IDE. The only way I could justify taking the time to learn .Net when there's already so much more to learn in the MACR world would be to examine this code reuse over a wide range of applications. I'd like to see more about that in particular.
cbrickhouse
10-30-2003, 07:51 PM
people think that any idiot can code coldfusion. this is where they are wrong. any idiot can code coldfusion... but few can actually do it well. there are ways to tweak coldfusion and certain ways to program that can make it faster than any other language. i've used asp and .net extensively and i'm still leaning towards cf. it's an amazing language when used properly.
redcircle
10-30-2003, 08:53 PM
CF is also quite OO and produces nice, clean code. However, it is far simpler than asp.net to learn, operate and use.
I would love to see a competition on the web between people using CF vis PHP vis asp .net
I think that especially in the area of web services CF would be in a class on its own (a leader) compared to the competition. Hit MS where it hurts :)
TK
My opinion is just use what works best for you. If CF gets the job done, and you already know how to code I think you've answered your own question.
Me, PHP is my choice, Open Source all the way. It makes it much easier if I can just SSH into the server and use pico and not have to worry about any IDE to install. The less I have to use the stupid mouse the better.
Nargule
11-09-2003, 08:58 AM
Me, PHP is my choice, Open Source all the way. It makes it much easier if I can just SSH into the server and use pico and not have to worry about any IDE to install. The less I have to use the stupid mouse the better.
I thought I was the only one that did that!
nnpptt
11-20-2007, 03:12 PM
This site breaks it down pretty well. It's a bit pro-.Net, but it's still a good breakdown:
Asp.Net vs ColdFusion Comparison - Comparati (http://comparati.com/1131-Asp-Net-vs-ColdFusion)
Hope it helps. Good luck!
Howdy folks. Today in my companies weekly web meeting one of the company heads wanted to know why we wheren't using ASP.net instead of Cold Fusion for the development of our web sites. Apparently some consultant was whispering sweet dot.net in his ear.
So, the question is what are the major differences? What can I do with one that I can't do with the other. I need practical information that I can present to the powers that be one way or the other.
Thanks allot,
Ed Mercado,
Webmaster,
Big Five Tours & Expeditions: Luxury Guided Travel | Adventure Tours | Luxury Tours (http://www.bigfive.com)