ColdFusion Programming

ColdFusion is a JVM-based programming language that supports scripting and templating and was developed by the Jeremy Allaire in 1995 to make development of CGI scripts easier and faster. It has matured over the years to include many interfaces with other languages and environments.

Since version 6.0, the ColdFusion application server is a Java application sitting on top of the Java Platform. When a page is first called, the ColdFusion code is converted into Java bytecode; this allows better integration with the Java platform and also allows JSP "Java server pages" to be called and run from within a ColdFusion application.

Beginning in version 7 there was a dramatic focus on RIA (Rich Internet Applications). The ability to include flash forms, xhtml forms, dynamically created pdfs and flashpaper were all included.

Version 8, released in mid 2007, showed dramatic performance improvements, and extended the language functionality to include image processing, presentations, MS Exchange integration, support for .Net components, PDF Form manipulation, Ajax form components (based upon ExtJs 1.1), and more.

Version 9 was released in October 2009, providing many huge advancements to the server and the language. Almost all ColdFusion tags now have CFScript equivalents, allowing developers to 'script' entire applications. New integration points now include Hibernate ORM (built-in), index and search from either Solr (new) or Verity, MS Office/OpenOffice document manipulation (presentations, spreadsheets and documents), and MS Sharepoint integration. There is also an AIR based desktop application, which can be used to administer/update multiple server instances remotely, and a brand new, Eclipse based IDE (ColdFusion Builder) is currently in public beta testing. Further scripting capabilities include enhancements to the ColdFusion JavaScript functions, used for interaction with the ColdFusion Ajax components (now upgraded to ExtJs 3.x), as well as support for Server-Side ActionScript, and a complete ActionScript include library to tap into core ColdFusion services (primarily for Flex integration). Adobe is also in closed beta testing of a new Amazon EC2 instance offering, and has adjusted it's licensing to include cloud computing and VPS deployment scenarios.

Today there are several ColdFusion Application servers (compilers), the most popular is the Adobe ColdFusion server. Other popular options include the open source Railo (a project under JBoss) and OpenBD (NewAtlanta), as well as the enterprise BlueDragon (NewAtlanta), which is built on .Net.

ColdFusion web pages make up around 10% of the web; its success is due to its simplicity and small learning curve. The majority of ColdFusion Developers started off as HTML designers, Due to CFML "ColdFusion Markup Language" being a Tag based language it looks very similar to HTML, which makes it very attractive to HTML coders with very little programming experience

ColdFusion today offers Java developers a faster and more effective way to develop web based applications, as an application written in the ColdFusion language will generally require a lot less code than a Java application. The advantage here is that Java developers can still call all their pre-existing Java objects from within a ColdFusion application.

Less advanced developers who have no experience with Java can use ColdFusion without ever having to know any Java. Highly trained programmers can develop web programs, including internet and intranet programs, in a much shorter time.