Solved

Coldfusion vs. PHP

Posted on 2006-07-21
9
452 Views
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 ...
0
Comment
Question by:LauraleeDooley
  • 4
9 Comments
 
LVL 9

Expert Comment

by:73Spyder
Comment Utility
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.


-73Spyder
0
 

Author Comment

by:LauraleeDooley
Comment Utility
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.
0
 
LVL 9

Expert Comment

by:73Spyder
Comment Utility
Yes, MySQL does now have support for stored procs.

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

0
Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

 
LVL 9

Expert Comment

by:73Spyder
Comment Utility
0
 
LVL 9

Expert Comment

by:73Spyder
Comment Utility
Also,  I know its not free, but I have heard good things about this:  http://www.convert-in.com/mss2sql.htm

0
 
LVL 1

Accepted Solution

by:
DeekGeek earned 500 total points
Comment Utility
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.
0

Featured Post

Superior storage. Superior surveillance.

WD Purple drives are built for 24/7, always-on, high-definition security systems. With support for up to 8 hard drives and 32 cameras, WD Purple drives are optimized for surveillance.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
connection string question 2 66
.dwt files not viewable in browser - why? 2 49
Column Spacing 3 33
Grunt No Clean Targets 6 53
This article provides a case study on how our local youth baseball league deployed a new website, including the platform selection, implementation and benefits to the league.
Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
The purpose of this video is to demonstrate how to make a WordPress Site faster and smaller in size by cleaning up the database. This will be demonstrated using a Windows 8 PC. Plugin WP Optimize will be used. Go to your WordPress login page. T…
The purpose of this video is to demonstrate how to integrate Mailchimp with Facebook. This will be demonstrated using a Windows 8 PC. Mailchimp and Facebook will be used. Log into your Mailchimp account. : Click on your name. Go to Account Setti…

744 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now