Link to home
Start Free TrialLog in
Avatar of erwins
erwins

asked on

PHP or ColdFusion ?

In the last 2 or 3 months, I've been trying to decide what middleware language to learn well and become an expert in.  I've narrowed it down to PHP and ColdFusion, primarily because these 2 languages seem to be the hottest languages around.  I'm in the middle of a project using PHP and so far so good, but am still wondering if ColdFusion would be better.  I really like the fact that PHP is open source and works on most platforms, where ColdFusion primarily works on Microsoft and works only on a ColdFusion server.  Any comments or suggestions one way or the other?  Also if what I've said is totally correct about ColdFusion?

Thanks,
Erwin
Avatar of hongjun
hongjun
Flag of Singapore image

CF does have its own server but that is an advantage too. If one of your applications is leaking memory or doing something screwy, then CF application server crashes and restarts rather than your web server itself.

hongjun
Since you have started on PHP and is already half way through your project, it would be time-consuming to revert to CF.

hongjun
Avatar of erwins
erwins

ASKER

I wasn't planning on changing from PHP to CF in mid-project.  This is for future projects.  I'd really like to pick one and become an expert in it. Thanks for your input.

Erwin
Coldfusion also runs on Linux and other Unix platforms. Coldfusion MX is in reality a java/servlet engine (jrun).
In the past CF was very unstable, slow, buggy, but runs very stable. The advantage of CF is the tight integration with java, so you can use servlets, jsp and java classes.

CF is the fastest way for development of applications. I have been using it for almost 5 years now and still being happy with it. I switched to java/jsp for larger projects, having the benefits of a true OO-environment.

PHP is very fast, but it looks to much a hacker language to me. Still you can find a large comunity and many open source projects. If you are happy with it, stay with it, else consider CF.
ASKER CERTIFIED SOLUTION
Avatar of bmarlin
bmarlin

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of erwins

ASKER

Here is a related question on CF.  I've read and heard that CF is buggy, but most of my information is from 1999 and 2000.  Does anyone know if the nex CF MX is more stable?  I use to have to program in FOCUS (vendor is Information Builders, Inc.), which is a 4th generation language, and it had so many bugs, that about 40% - 50% of my code was work arounds.  I really don't want to have to relive this bad experience.

I think bmarlin has a very strong argument that in the current programming world and economy, it is better to be more of a good generalist than an expert on 1 thing. I thinks I'm leaning towards focusing on PHP, Perl, and Java, and only doing CF if I have to.

I also mistrust MS products.  I have lots of experience with IIS on NT, lots of MS applications, and their OS, and they are all unstable.  Unexplained lockups, core dumps, crahses, etc and lots of rebooting.  And all their programs are so large.  They probably have stock on hard drive companies.  Unix or VAX is the way to go.

As you know, php and CF accomplish similar tasks and the guys here have already posted alot of the important factors.  In my experience, the choice often ends up being an executive decision - do we want to pay for support, or do we want to go the open-source route and rely on the open-source community for answers.  

If you have to convince an executive that the system you are building "WILL" work - i would go with CF so you can have the comfort of knowing there is  someone ready to answer your questions at all times.  The community support for php is good, and the manual tells alot, but you cant count on people always helping you.

If downtime means dollars, you may want to consider CF - if you like working through things on your own...stick with php.

Also, since you like php and CF - you need to check out http://www.fusebox.org and http://www.bombusbee.com
I realize it is very much dependant on the way one writes code, but I would advise evaluating scalability.

Can't say anything about CF, but it seems to me that a number of projects out there that employ PHP don't adapt very well to increasing volume.

Your PHP may run like lightning with 100 simultaneous connections, and slow down considerably with 1000.

If database connections are to be relied on heavily (and they generally are, in larger web-apps), it seemed to be an area where PHP's architecture wasn't very efficient.
Avatar of Eric - Netminder
erwins,

CF isn't a Microsoft product; it was developed by Allaire, which merged with Macromedia about a year ago. I've never had a problem with stability or "buginess" that wasn't the fault of weak programming -- which happens with PHP, ASP, perl, and every other programming language.

That doesn't make it perfect. It requires its own server software, and most people use its studio to do development. Its upside is that it has a short learning curve.

ep
Avatar of erwins

ASKER

ericpete,

I realize CF is a Macromedia product, I just have had bad experiences with MS OS's and servers in general, hence my hesitation to use it.  Unix, VAX and others just seem to be much more stable.  But I'm sure I'll run into a project one day where I'll be foreced to use CF, and I'll just have to put aside my prejudices and just do it. Thankfully, CF has a shorter learning curve.
Avatar of erwins

ASKER

I wish I could equally share the points amongst all of you, since the sum of all your advice is very helpful, but since I have to choose, it goes to bmarlin.
Thank you all!