In the early days of our company any dynamic parts of our work were performed using home built C++ CGI executables. We used ISAPI filters and Peter blew me away one day when he wrote a flat-file database in C++.
Unfortunately (or fortunately depending on where you look at it from) our CGI days came to an end when a CD arrived from some trade show. We had got our hands on some kind of new fangled energy source squashed onto a shiny compact disc called Cold Fusion.
At the time I had barely heard of it. I saw a few sites with .cfm extensions and Cold Fusion Modules was bantered around the place but I didnt know what to make of it. We gave it a lash....and havent looked back!
I have been developing in ColdFusion now for almost 7 years, all the way from Allaires ColdFusion 4.0, through Macromedias reign and onto Adobe for MX7 and BETA testing Scorpio.
Since we first started using ColdFusion, we have at times had to develop using other Application Servers such as PHP, ASP and JSP but always reverted back to the RAD and extensibility of ColdFusion. Need something not in the core? Write it as a Java or C++ CFX and interact with core tags seamlessly!
We would be asked in the early days to justify our choice in language. Why CFML? The server license costs a lot and we have never heard of it. Is it safe? Is it reliable? Is it fast? People just didnt get it! They kept asking why we're not using PHP. Why arent we using ASP or JSP?
How did we justify it? Our work spoke for itself. The speed at which we developed apps and the resultant low cost (compared to the cost if we had to use ASP and doubled our fee)
Hell, for a while we were half of the total Irish companies developing in CFML!!
The Cork ColdFusion User Group comprised of Peter, myself and a guy called Dan King. Later we dragged my buddy Karl along just so we could get more free goodies from Macromedia :-) When we travelled to our first ColdFusion Conference on London, the whole Irish ColdFusion development community could have been wiped out if our 6 seater plane went down! :-)
Now though, we dont have to justify it anymore. People have heard of ColdFusion. People have heard of Blue Dragon and at long last we are seeing more and more vendors supplying CFML application servers.
- Adobe ColdFusion - http://www.adobe.com/products/coldfusion/
- New AtlantasBlueDragon - http://www.newatlanta.com/products/bluedragon/index.cfm
- Railo - http://www.railo.ch/en/index.cfm?treeID=105
- Smith Project - http://www.smithproject.org/
- Coral - http://pcaonline.com/index.cfm?loc=coral
What prompted me to write this entry was my excitement after just downloading, installing and running Railo in all of 5 minutes. And boy was it fast!! I used the Lite version which runs on Jetty on Port 8888 and did a quick CFDIRECTORY dump of my (rather large) c: drive. I did a comparable one in CFMX 6. Railos was SCREAMING fast!
The other thing to push me writing this was the story about Smith Project on Digg and the resultant HUGE thread on CFTalk regarding Railo hosting. I enjoyed the Railo guys indepth responses to some of the comments and his confidence in his product! Well done Gert!
I always envisioned the day where we could write a quick app (lets say a Project Management Application) and deploy it on a client machine nicely wrapped up in a setup.exe program. This would have a Desktop type application housing a web browser control and inside would be our CFML application all running on the local machine. Full access to the systems resources, a datasource (possibly bundle a cut down DB engine with the package) and we would be away on a hack!
When I saw Railo run with little or no configuration, my dream is getting closer to reality. And the licensing is more favourable than BlueDragon for this type of App. Infact when BlueDragon first surfaced a few years ago, we were in talks with them for such a beast.
PCA Onlines Coral was something that excited me at the time but the functionality it not all there and development on the product is stagnant. Also, their interpretation is built using Windows only technologies and is limiting on the platforms we could deploy.
Anyway, if any one has any comments or ideas on any of the above, I would be delighted to discuss it further in the comments section.