Friday, July 30, 2004

Defending ColdFusion Against Java

Ben Forta has some great thoughts on defending ColdFusion against Java in his blog today:

I think the major point (in my mind at least) is that when people posit this as an either/or proposition, there's obviously a misunderstanding of the relationship between CF and Java (and fundamentally what CF is, for that matter). Great ammo if you're in one of these arguments.

Thursday, July 29, 2004

Interesting OO Article

Hal Helms has an article in the latest MXDJ entitled "An OO Approach to War." He's referring specifically to the card game, not the current geopolitical mess perpetrated by Our Fearless Leader(tm). It's an interesting read and falls in line (as usual) with much of what I always preach--learn OO if you don't know it. It will make your life and your programs better!

Thursday, July 15, 2004

BlueDragon for .NET Preview Available

More good news for CFML--New Atlanta just announced that a technology preview of BlueDragon for .NET is available. Now not only can CFML applications be deployed on J2EE servers, but CFML can run natively in .NET as well. I'm particularly interested to check out the integration between some of the nice .NET controls (e.g. the calendar control) and CFML. At any rate, I think this is another great thing New Atlanta has done for CFML. Removing barriers to its use and allowing for interactivity with the other giants of the application server world gives us as CFML developers a lot more options.

Friday, July 2, 2004

PHP 5: Evolutionary or Revolutionary?

The July 2004 issue of Linux World contains an article entitled "PHP 5: Evolutionary or Revolutionary?" Since I've built several applications in PHP, I was curious to see what has changed and whether or not it truly is revolutionary. The leap from PHP 3 was indeed a large one and with it came huge performance and stability improvements. The other thing this got me thinking about is whether or not their "revolutionary" features are revolutionary in comparison to my technology of choice, ColdFusion.


According to NetCraft, PHP is now installed on over 15 million domains, so it's by no means the little-known scripting language it once was. It's especially popular amongst the open-source crowd, and it's more or less the technology of choice if you're doing web development on Linux with MySQL. I actually like PHP--it's quite powerful, has an impressive library of functions built in, and is pretty quick to develop with. I definitely don't shy away from it in freelance work like I do Classic ASP; it's fun to work with and I always get good results.

I was very curious to see the new features, because in some ways (OOP and XML being two biggies) PHP 4 is a bit behind the times. Not surprisingly these are the two major areas they've improved things with PHP 5.

One of the major complaints about PHP from developers of extremely large applications is that PHP's OOP features just aren't robust and capable enough. The main issue with the OO behavior in PHP 4 is that objects are always copied during assignments and parameter passing. Bad stuff in general, but particularly if you aren't aware that's what's going on. This can cause some freaky behavior that's pretty tough to debug, and the workarounds just aren't very satisfactory. In PHP 5 (specifically in the new Zend II engine) objects are now "handles" (like in Java or pointers in C++), which means you can throw objects in and out of functions, etc. and you always end up pointing to the same object. BIG improvement.

The other big improvement is in the XML functionality. They've added a new SimpleXML extension to greatly reduce the complexity of creating and parsing XML documents. A simple function call like $myXml = simplexml_load_file('filename'); will load and parse your XML file. Great, lovely, just what the doctor ordered. There's also a new SOAP extension that allows for development and consumption of web services natively in PHP 5. Again, nice addition.

What I go back to, however, is whether or not any of this is really a big deal. In the PHP world it certainly is, because now PHP is on par with other technologies like .NET, Java, and of course ColdFusion. Evolutionary? Definitely, but by necessity. Revolutionary? Hardly. There's nothing in PHP 5 that can't be done in other languages, and in ColdFusion you can do all these things and more far more simply.

I wouldn't get on my high horse but the final sentence of the article is as follows: "This new version [of PHP] only increases the challenge for its competitors to catch up." Catch up? Hardly! I've been able to do everything PHP can do in ColdFusion for quite some time now, and we're only a few months away from a new release of CF that will raise the bar even further. I welcome the new functionality in PHP, and I'll be darn happy it's there for my PHP projects, but I think all they've really done is caught up with this release. Given a choice I'd still go wtih CF whenever possible, but at least now PHP doesn't tie my hands or force me to kloodge things like I used to have to.