ColdFusion: Quicker Scripting, at a Price.
ColdFusion is a rapid application development language for the web, developed by Macromedia. It's not free, but many people say that it's more important to them to have the development speed that ColdFusion offers – and you can download a free 'developer version' to experiment with before you commit to anything.
No Need for a Test Server.
One of the nicer features of ColdFusion is that it comes with a whole application to help you write it the language. While it can be used with Apache or IIS once you're finished, this application effectively acts as your test server while you're writing your scripts, saving you quite a lot of trouble.
As a downside, though, ColdFusion on the web can sometimes be unreliable and slow, mainly because it runs on a Java framework. Its Java support does, however, make it capable of running on many more operating systems than it otherwise would be – for most purposes, having written a page in ColdFusion is as good as having used Java for it, but much less difficult. Since ColdFusion also uses the ODBC (Open Database Connectivity) standard instead of tying itself down to one database, this gives you a lot of choices.
In other words, you're sacrificing some of your website's speed in exchange for more choices and compatibility, and quicker development time.
Easy to Learn.
One of the things that makes ColdFusion easy to learn is that it isn't all that different from normal HTML: it acts more like a set of extension tags for HTML than like trying to get a programming language to do things and output HTML afterwards. This is because it was designed from scratch for the web – it's not just a normal language trying to be web-compatible.
For example, here's some code that queries a database and writes the fields it finds to the page:
SELECT * FROM table WHERE id = '1'
You can see that the 'cfquery' tag is used for sending queries to a database, while the 'cfoutput' tag adds text to the HTML. The text surrounded by hashes (#) is a variable. How are variables defined, you wonder? Like this:
Once you get used to thinking in tags, it starts to feel quite natural: ColdFusion just feels more HTML-like than other languages do.
Despite its simplicity, though, ColdFusion is considered to compete more with languages like JSP and ASP.Net than it does with PHP.
One ColdFusion strength is that it doesn't just run on top of Java – it can also call Java classes using its createObject function and use any methods it needs to, with the results being put in ColdFusion variables. This will be very useful to you if you have existing Java code or know of Java code that you'd like to make use of – you'll get access to all the J2EE libraries as well as ColdFusion's own. It's this fact that has led Macromedia to market ColdFusion as "a scripting layer for J2EE". Of course, whether or not that excites you is a matter of personal preferences.
Integration with Other Macromedia Products.
If you already design your pages in Dreamweaver, it can be good to do the scripting in ColdFusion, as you get the advantages that integration between the two gives you. You can insert ColdFusion code into Dreamweaver files quickly and easily, and you can even use its built-in editor to edit the code however you want without messing up Dreamweaver's WYSIWYG view.
ColdFusion also integrates surprisingly well with Macromedia's flagship product, Flash – but don't let that lead you into developing nothing but ColdFusion-scripted websites with fancy Flash interfaces, whatever you do.