Note from a .Net programmer getting into ColdFusion

This post is more than 2 years old.

I had a cool post about jQuery Mobile planned, but realized (right before I saved it) that I was completely wrong and that my post was pretty worthless. Feeling down - I thought it might be nice to share this email I got yesterday:

I just wanted to say thank you for all the hard work you have done over the years with Coldfusion. I have recently acquired a job as a Coldfusion programmer and was previously a .NET developer and given this fact I never tried Coldfusion, so much like the rest of the .NET community I kind of shunned on ColdFusion. Having concentrated on learning it I have grown to admire it and thoroughly enjoy using it. It makes things much easier and quite a bit more programmer friendly.

I just wanted to write and thank you for the site as it has been a tremendous help to me as I have been learning and hope that you keep up the good work.

I wrote back asking the reader (Shawn) if he minded sharing a bit more about his experiences coming to ColdFusion. I'm always curious how folks from other languages find ColdFusion and what they think about it. Here is his followup:

Having a background as a .Net programmer over the past 6 yrs I wanted to give some perspective on ColdFusion. I recently obtained a job as a web developer and was hired based on my programming background. I quickly learned that all the websites(over 25 of them) were programmed in ColdFusion and of course as a programmer with a .NET background this both made me question why ColdFusion was being used and why I was needed, since my background was not in CF. Needless to say, I took it as a challenge as I had previously converted a site from CF to VB.NET. Since I have had to learn CF I have come to admire it and actually enjoy programming a bit more. I have been given the task of deciding on whether or not to keep CF or migrate all the websites to VB.NET and upon learned CF and how it works I have come to the realization that CF is a better option for a few reasons. CF is easy to learn...since I have had no experience with CF whatsoever, I have been able to do things that took me much longer to do in .NET and it makes it easier for someone else to learn what I have done thus increasing productivity as a team. Having said all this, I look forward to CF 10 and hope that any .NET programmers out there that have a negative outlook on ColdFusion, at least give it a try and see what it is about and you just might like it. As a programmer, having learned to use CF it has made my job much easier and a bit more fun at the same time.

It's nice to know that productivity, something ColdFusion has always focused on, seems to be the killer feature. Not so much tag A or function B, but rather, making difficult things easy. That's been job one since day one and I think it's truly what makes ColdFusion special. I've got respect for other languages of course, but few have dedicated so much effort to help you get things done. Here's to ColdFusion Zeus - where the tradition will continue!

Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA

Archived Comments

Comment 1 by Shirak posted on 11/23/2011 at 10:50 PM

It is Very interesting to see .Net developer coming to ColdFusion. I personally work in .net workshop, and most of my colleges believe ColdFusion is legacy tech. I start doing a lot of .Net lately, to be fare yes it is great language and they have great tools, but each time I switch to ColdFusion I feel I can kick assess with productivity and ease of use. Sometime I call ColdFusion ColdGlue, because it is glue between other technologies.
I’m looking forward to Zeus.

Comment 2 by Mike posted on 11/24/2011 at 12:19 AM

@Shirak, I have a question for you or anyone for that matter but I always see people say things like " its a great language" etc. But i never really see a good example of what makes it great.

I mean I always get the feeling that CF developers have this need to always give praise to the other language before saying how much they like CF, almost like wincing waiting to get hit in the face after saying the awful words (I use cold fusion). I too am guilty of this, but as of late while I have been pushing coldfusion more and more I have started to kind of ponder this and find myself less trying to defent CF and just let the work speak for itself. (like when I said, yah we can connect to sharepoint using SSO in cf with a few tags, seems odd that .net does not have better sharepoint integration but anyhow.. )

Shirak sorry if it seems like an odd response, was not more of a question then a rant but I do find it interesting, I just wish more people would give CF a shot and not give it the windows vista treatment (ohh this one guy said it was bad so it must be bad and no matter how good it gets I will never think its good)

Yes coldfusion lets you develop fast, but it also does what I think a lot of other languages don't do.. they make it fun to Code.

Anyhow I will stop now :)

Comment 3 by Shirak posted on 11/24/2011 at 12:47 AM

Thank you for your response, i really don't want to make Rays blog discussion board about .Net. To shortly answer your question about great language, it all come to us, developers. we can make each technology looks great or awful.

Comment 4 by Raymond Camden posted on 11/24/2011 at 12:49 AM

It's a holiday week. Be my guest. Go crazy. Post, post, post. :)

Comment 5 by Mike posted on 11/24/2011 at 1:14 AM

Well I guess my point is more a long the lines how CF is viewed as a language, like we need to build the other one up before saying we are a CF developer. I have never seen a .Net person say .. Coldfusion is an awesome language but.. ( you aside:) ) I mean you are hard pressed to even find one that will consider CF a language, people look at it as if its some cheap language that only noobs use.

Again I rant lol but like I was saying, we praise the language before (in this case .Net) but never really point out what is so god darn great about that language. I mean, honestly I can say I'm not a .Net programmer so that's why I even ask the question.. what makes .Net so great in the first place?

(I would love to know, really because I have not been able to find out what you gain by using .net over say CF?)

Comment 6 by MIkel posted on 11/24/2011 at 1:30 AM

Maybe us CF developers are just nicer folks and don't want to throw rotten eggs at others? :)

I love CF. I can get so much done so fast! I did take some .net courses in college and I learned a lot but then I started working with CF and realized that I could do so much awesome "stuff" so much easier that I haven't looked back.

Comment 7 by Shirak posted on 11/24/2011 at 1:59 AM

I’m not type of developer who say CF vs .Net or CF vs Java or which one is better than other. My philosophy is CF with .net and CF with java.
Choosing the right tool or technology depend on a lot of factors including resources. I work in hybrid environment, and all our applications integrated with each other. My background is OOP languages, so I passed that methodology to CF. I believe we as ColdFusion developers should learn other technologies too not in favor of CF but to strength CF.
To answer your question what makes .Net great. Okay if great is to big term then I would say what makes me like .Net.
“Solid OOP, Partial Classes, multi constructors, constants support, enum, WCF, WFF and the awesome IDE VS2010”.
Now, you could achieve everything I mentioned there using CF too, but with little extra work. So my point is I’m trying to implement good ideas in other languages in CF, and I’m successful in that. In fact I had discussion with CF engineers on issues between .Net and ColdFusion especially around complex objects and null values.
In one sentence, I love ColdFusion as much as you do, that’s why I pin point on weak points and try to make complete platform from A to Z.

Comment 8 by steve ryan posted on 11/24/2011 at 5:32 AM

I'm old school programmer. Using assembler on a 8088 processor, assembler on a mainframe with 64bit word, pascal, colbalt, c, java, and then coldfusion with jquery. For me, most languages provide the basic building block components. Its the problem solver that is important.

Ray great blog ....come here all the time...

Comment 9 by Shawn Bowman posted on 11/24/2011 at 8:19 AM

Coming from a programming background in classic ASP for many years then migrating to .NET without really knowing any other languages I suppose gave me a different view than most of you. Using that background and know what .NET can do in a corporate environment (damn cubicles) I have seen first hand what a strong .NET development team can do.

Since that time, I was laid off looked for a job and found one at a college. It seems a lot of colleges these days use CF...I have no idea why...but after doing some research and really seeing what most of the sites were programmed in, I came to realize that 50% of them were CF....the other 50% was split with 25% being .NET and 25% being PHP.

I think .NET is great...I think CF is great....but I remember back when I got my first .NET job and I had to jump right in look at the code decipher what it was doing and go from there. It took me a long time....

The same thing happened with my most recent job, I got thrown into handling 25 websites that were all programmed on the backend with ColdFusion. To my surprise having no previous experience with ColdFusion I could decipher the code (along with some Java) with a lot more ease.

Where I am going with this is....we, as programmers, program in what we like most...I like .NET I think it's fantastic, well supported and the community is very large. I feel a lot of programmers don't give ColdFusion a chance and really dig into it and see what it can do. I was one of those people until I had no choice but to dig into it and program in it. I was rather disappointed in the small size of the community for ColdFusion...but it's understandable. This site has helped me out tremndously and that was why I thanked Ray for all his hard work...the site alone has been almost more help than Adobe and several books I have read put together.

Keep up the good work Ray...and I can't wait for the ColdFusion Sith to beat the ColdFusion Jedi!

Comment 10 by Michael Zock posted on 11/25/2011 at 11:24 AM

Part of it may be the mindset, but also ColdFusion's tendency to allow you to integrate assets/code from other languages, making it possible to use the most suitable tool for each task.

Some upcoming features like Railo's "<cfscript language='java'>" will make this even easier. Things like this really reward developers for broadening their horizons. You don't view other languages as separate issues or even competing products, but as possible additional tools to be used where it's beneficial to combine their different strengths.

Comment 11 by Shawn BOwman posted on 11/28/2011 at 7:12 PM

Well said....I would totally agree. I hate to say anything is better when it comes to programming because in my eyes you cannot really compare ColdFusion to .NET as they are completely different. I feel ColdFusion does make some tasks easier such as file uploads or image resizing. <cfimage>, <cffile> and <cffileupload> (even though I hate the use of flash) which are all built-in to CF made me life easier than programming something in .NET, even though it would not have been difficult as I have snippets of code in .NET that I use to accomplish the same thing.

For the most part it feels like is more of an "overlay" for lack of a better word...but it is that overlay that made things easier for me.

Comment 12 by RogerTheGeek posted on 12/2/2011 at 1:01 AM

I am a geezer too, starting with 8080 and going through all the Fortran, Pascal, C, and then to mainframes with COBOL, PL/1, Fortran, etc. I did a lot of ASP and Visual Basic. ColdFusion does what I need it to do for web applications. I learned VB .NET and love VS2010. I would use it for client server stuff, but the idea of using it for web apps doesn't even come up in my head. Why would I do that if I have CF?

I do wish I could use VS2010 with CF. That IDE is the best thing MS ever produced.

Comment 13 by James Hull posted on 12/12/2011 at 3:27 AM

I worked for a year or so as a .Net programmer and I made the switch to Coldfusion. I think it's a greatly underestimated language. With the improvements in CF9 and some great MVC frameworks like Coldbox I think it's a very productive web language.

If you know C# or Java you can appreciate all the abstraction CF brings to the table (the same way C/C++ programmers appreciate (normally) GC when moving to a managed language.

However it is also that abstraction that can hinder CF and why many are afraid of it. The fact that you are not learning the fundamentals of programming (a CF array is not an array for example) and the fact that abstraction comes at a big cost (for example memory - every method in a component is a class in Java that gets instantiated in yet another class) are two major reasons people stick their noses up it.

After two years as a CF developer I am moving back to .Net next week. I feel it's time for me to move away from the abstraction. Plus I am big statically type language fan. Dynamics have never agreed with me. Also IMO .Net is a more complicated but functional language. However I still plan on using CF every now and again especially for prototyping.

To finish - I would definitely recommend CF to a developer if they wanted to easily and quickly put together a website and I would definitely tell .Net or other language developers to try CF out before they jump up and down screaming how bad it is - as they might just like it!