Coldfusion vs. PHP

Posted on 2006-07-21
Medium Priority
Last Modified: 2013-12-20
This is a question that has been raised in this forum before, but the postings were in 2003. Both worlds of CF and PHP have changed since then. So here goes ...

I'm a ColdFusion programmer who who spent the past 5 years as the sole programmer on our organization's main website.

We have hired other junior programmers for specific project-related websites. Some of them work in PHP and one of our key project sites has moved over to the LAMP platform.

The system we've created in ColdFusion MX not only runs our Website, but runs parts of our Intranet, a backend home-grown CMS, online tracking and data analysis tools, and several other applications. Plus we have a few project sites coded in CFMX. We use a lot of stored procedures in our SQL Server 2000 database and use cfloops in much of our output.

Now, there is a groundswell from the PHP programmers to move our site over to the LAMP platform as we consider revising our site and adding a true CMS. Up to this point, I've been open to potentially developing a migration path to PHP, but right now I'm under the gun to get a site facelift/revision done by the end of September 2006 AND a CMS tool in place to support some of the new features in this site facelift/revision. I've been looking at keeping things in ColdFusion/SQL Server 2000 and adding CommonSpot CMS (which I understand supports ColdFusion and PHP) with FuseTalk (for the forum/blogging elements).

However, there is still push for me to move from CFMX/SQL Server to PHP/MySQL.

I'm a CF programmer and database engineer. Apart from that, I've taken Basic and Perl (years ago), and have (of course) worked with XHTML, XML, and Javascript. I'm willing to learn PHP, but haven't been convinced that this is the way to go at this point given the potentially high cost of conversion as we will have to pay someone to convert all our site elements (one person can't do it all efficiently)  -- seems like funds for this should be used to develop content for our users, not for making a platform shift.

I may be preaching to the choir, but I would like your thoughtful input ...
Question by:LauraleeDooley
  • 4

Expert Comment

ID: 17155796
Well,   I am not sure how thoughtful my input will be, but here goes.

We use a combo of CF (BlueDragon actually) and MySQL.  This is working quite well for us.  For you example I would recomend this route for you as well.  Since your app is already in CF, all you would have to update is the SQL parts.   Given the time table that you have listed, this might be the best way to meet your deadline.


Author Comment

ID: 17155860
Has MySQL support for stored procedures and does it have a good interface for writing and running on-off SQL Queries within the database? I had heard in the past that it wasn't as robust as SQL Server 2000. But that was about a year ago and I'm sure things may have changed.

Expert Comment

ID: 17156721
Yes, MySQL does now have support for stored procs.

And they have a nice free tool  http://www.toadsoft.com/downld.html  Called Toad.

Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.


Expert Comment

ID: 17156746

Expert Comment

ID: 17156765
Also,  I know its not free, but I have heard good things about this:  http://www.convert-in.com/mss2sql.htm


Accepted Solution

DeekGeek earned 2000 total points
ID: 17226786
I've been using ColdFusion since about 1998, and you should probably consider me strongly biased.  Having said that...

First, remember that ColdFusion is really just the server software.  The language is ColdFusion Markup Language (CFML).  As mentioned by 73Spyder, CFML is used by software other than ColdFusion.  New Atlanta makes Blue Dragon server, which is designed to be a direct competitor to ColdFusion that will run CFML with little or no modification.

ColdFusion as a server is more robust than ever and CFML is still the easiest language for rapid application development, in my opinion.  CFML tags provide a lot of functionality, "out of the box," that PHP programmers have to either develop or include from a library or snippet collection.  ColdFusion supports tight integration with other enterprise-class components, such as Java beans for your business logic, due to its J2EE architecture.  CFML expanded to support a light form of object-oriented programming when it got ColdFusion Components (there are some limitations, such as with constructors/destructors).  ColdFusion Components can also be exposed for public consumption as web services by setting their access to "remote" - no other changes are necessary.  Prebuilt software is scarcer with ColdFusion.  There are a handful of CMS applications available, and only a couple are F/OSS.  The ColdFusion community is much smaller than with PHP, though in my opinion it is much friendlier.

PHP is more of a scripted language than CFML.  It is closer in usage to ASP / VBScript.  Database access is done by scripting all the code necessary to establish a connection, pass in the credentials, pass in the query, and retrieve the results.  Web services must be coded by hand or handled by an external library, if they can be done at all.  Connections to Java objects and interoperation with other business objects must be handled the same way.  On the other hand, the Internet is full to overflowing with software that runs under PHP.  You want a CMS?  Take your pick.  You'll be old and grey before you finish evaluating them all.  Code libraries?  The same way.

Probably the biggest hurdles to ColdFusion are in management perception and in obtaining capable people.  ColdFusion has a bad reputation with some people, especially if their only exposure to it was a long time ago in those wild, halcyon days of the dot-com bubble.  ColdFusion is so easy to use, it is very easy for someone to quickly become familiar with its syntax and begin to crank out web applications.  Those same applications tend to have poor designs and perform terribly when they are placed under heavy load.  It is much easier for programmers - and their managers - to blame the server software when the fault is really with the design of the application.  This brings up the second problem - it is much easier to find PHP developers than ColdFusion developers, because there are fewer barriers to entry in the ColdFusion market.  Free versions of ColdFusion are available for developers to use, but it definitely doesn't come with every copy of Linux downloaded from the Internet.

The questions to ask yourself are:
 - do I need added functionality, such as web services, Java interoperability, or multiple application servers per machine?
 - do I need a large pool of available talent?
 - do I have a management team that trusts my decision, or will I have to keep re-proving my decision to them?
 - what is our development environment like?  Do we have solid, repeatable processes in place (i.e., CMM level 2 or better) or are we building a big ball of mud every time?
 - what do I have the technical knowledge to support when the server goes belly-up?
 - what are the costs of each, both in real dollars and in labor costs and opportunity costs?
 - what does our capacity planning look like?  How much growth will we see next year?  In five years?  Will we be moving to clustered databases or other high-availability environments?

As for my department, we will be sticking with ColdFusion for at least another two years, and if we move off ColdFusion it will be to go with Java / J2EE, not PHP.

Featured Post

Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In this tutorial, I'll explain how to create an animated progress meter in a wireframe prototype developed using Axure RP 7.0 - a leading prototyping tool for designing web sites and software. (For more information about Axure and gett…
This guide will walk you through the essential considerations and tech stack for building scalable websites. Know how to grow your business the smart way!
The purpose of this video is to demonstrate how to manually back up a WordPress Database. This will be demonstrated using a Windows 8 PC. The Host used will be IPage.com Log into your Hosting account. IPage will be used for demonstration : Locat…
The purpose of this video is to demonstrate how to set up an RSS Feed on a WordPress Website. This will be demonstrated using a Windows 8 PC. Feedburner will be used for this demonstration. Go to your WordPress login page. This will look like the…
Suggested Courses
Course of the Month15 days, 9 hours left to enroll

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question