I just thought I would post a follow-up to the post I put up yesterday about my observations with Rails and it’s comparison to Coldfusion.
I have been a CF developer for as long as I can remember, it’s really the first “language” I picked up and I owe a lot to it for getting me where I am today. However, I am not like some people and think that the sun shines out of it’s proverbial. I fully realise that there are several issues with CF across a variety of areas. The main bug bears are things like:
1) Performance - Yes, I realise it’s got Java underneath it, but why is it so chuggy in places? I have done some tests where I have written a native Java class to do some “work” and then compared the execution time with the equivalent CF. CF always takes 10-40(!) times longer to execute. If CF compiles to Java why is there such a difference? Also, as a side note, why is the equivalent CFScript is so much faster than the ? (Try 10000 cfset’s for instance)
2) Bugs - I’m all for new features, but some parts of CF naming no names (CF Report Builder) just seem to be really buggy. I would prefer to see these fixed before any new whizzy extras are added. Also there are issues such as this which just drive me nuts in my day job.
Now, I realise that this might make it sound like I hate the platform, and you’d be so very wrong. CF is great, it’s perfect for an aspiring web designer who wants to move into web development, and maybe then Java. It’s taken me from knowing only HTML to where I am now, something that may have been harder if I were to jump straight into, say, Java.
Funny I should mention Java actually, as that’s where this is heading next. I have been trying to pick up Java over the last few months to give me a little more power in the world of CF, but (probably like a lot of people) I found myself looking at the syntax thinking “Geez, this is long-winded”, very much a CF developers mindset. So this led me onto the internet where I tried to find answers on how people could write web apps in Java quickly. Simple answer? They don’t.
This is what brought up Ruby (and I should also mention Python here too). Ruby is a very simple language, it’s almost beautiful in it’s simplicity, and scary in it’s flexibility. Languages like Ruby make you wonder why web developers put up with Java/C# for day to day development - surely they are writing five times more than they need to…
So, whats the moral of my story? Well, in a nutshell, programming is not hard and not complicated if you are using the right tools. If you want to build complex systems intergrating with this and that, sure use Java/.NET. If you are a average developer though, check out CF, Ruby and Python.
If you are already a CF developer, make it a regular task to check out other platforms out there. A lot of them are very powerful and quite often free to download and use. Even if you don’t like them or use them again, you’ve still been exposed to another way of looking at things and it will undoubtedly make you a better programmer in the end.
Getting yourself a computer science degree online is now a realistic prospect, if that’s how you’d want to do it.

