Friday, July 30, 2010

BFusion Bound/I'm bbbaaccckkkk

If you've not noticed a blog post from me since January that's because I haven't blogged ;) Life has been busy and most of my time has been spent on things I can't just go blogging about. Besides the majority of the work is not CF related and most of the folks out there would not find much interest in it. That being said I am ecstatic to announce I'll be teaming with Matt Woodward to provide a complete day of sessions/training at BFusion concentrating on Open Source CFML. BFusion is one of those conferences that has an awesome mix of CFML and non CFML folks. Many of them college students that like PHP or some other cool open source completely free (all the time) web language. This is a great audience for Open BlueDragon and I love showing them how awesome the CF world is. I'm sad I missed CFUnited, and cf.Objective for that matter, this year but it just was not in the cards. I'll definitely be as BFusion and with luck I'll be at CF Open Summit as well. Maybe dust off my CFML portlets stuff and show you how we are using it at Kroger, hint: if you work for Kroger in a store you've seen it and probably never knew it was CF powered.

CF is not Java, it is a Java Framework

So the other day I saw this on a ColdFusion mailing list and I am once again reminded how over simplified some of our developers view on the (Java) world is:

Why is no one mentioning the Java argument? Ask your friends if they think Java sucks and can't handle load.

I really dislike it when people say this. It simply shows a lack of understand and blind ignorance for the technology they love. Just because the engine is written in Java does not mean it is automatically at the same level as Java. There are many places where ColdFusion sucks (performance or other wise) compared to Java. There are indeed places where ColdFusion is better than Java. This is because ColdFusion is a Java framework and it all depends on ColdFusion's architecture. Much of ColdFusion's architecture rely's on reflection, which still has a stigma in the Java community of poor performance (though that has largely gone away). Due to this reliance CF has been tweaked over the years to get performance so things like CF9's hibernate integration are wicked fast even compared to the typical Java implementations (you have to pay the reflection piper with Hibernate either way). Heavy objects though will not work as fast with ColdFusion. Yes this has become much faster but it is not Java and it will never be Java. ColdFusion is a Java framework, please stop with the it is Java argument. Yes it does compile to Java classes but recognize that those classes are absolutely useless without the CFML engine that runs as a

framework to execute the ColdFusion generated classes. The engine has it's strengths and weaknesses just like any other Java framework. In the Java community if a site crashes I immediately ask is it wicket? I ask this because I've had bad experiences with it and memory management, among other things. No one is going to say ohhh well it is Java, b/c wicket still sucks (sorry anyone that likes wicket, I've not looked at it in years so it may well have risen above stuck pig level) as a Java framework.