Page 1 of 2

PHP, ColdFusion or .NET

Posted: Fri Mar 23, 2007 3:12 pm
by angelseye
I am working with a startup with large amounts of funding and we're doing some research into a server side programming language. Being an experienced CF developer with 6+ years...and never having worked with any other server side language extensively...I'm looking for input from users who have used PHP extensively for reasons why I should use PHP instead of the latest version of another language. I'm also looking for input on why I SHOULD NOT use PHP for this project.
Keep in mind this project is projected to be of MySpace type proportions within the next year and we must take into account O/S, DB, scalability and stability.
Any input would be greatly appreciated.

Thanks

Erick
AngelsEye Productions

Posted: Fri Mar 23, 2007 3:21 pm
by feyd
An explanation of the project (the high concept) would be helpful in helping try to guide you toward a good language.

I can tell you right off the bat that .Net should probably be avoided like the plague. The reason I say this is solely on what operating systems and hardware requirements are needed for it. .Net requires fairly high spec servers to run very smoothly. I just don't think it's often feasible to say "I want to spend the maximum on hardware and lock myself into an operating system at the same time."

Now, depending on how well you write (or handle) the caching.. PHP can be great. However, because it is an interpreted language, it will lag behind compiled systems. However, altering scripts doesn't require restarting the server.

In the end, you'll probably spend a lot of money on good hardware, and that's where a lot of languages can scale nicely provided the code is highly optimized.

Posted: Fri Mar 23, 2007 3:21 pm
by Kieran Huggins
PHP is multi-platform, scales well, and you have a HUGE talent pool to choose from.

Have you considered RoR as well? Not that I'm anti PHP, but it's very popular among web apps these days.

Posted: Fri Mar 23, 2007 3:36 pm
by angelseye
Without giving too much away (NDA keeps me from doing so), the scope involving server side language use is basically left to people signing up, administering account profiles and then some backend processing to contact account holders via email. The core of the project has nothing to do with server side programming whatsoever. However it could possibly grow to user interaction (Web 2.0) and then I don't want to be knee deep into a language that I can't expand on.

-Erick

Posted: Fri Mar 23, 2007 3:57 pm
by timvw
May i ask why you would not use Coldfusion? A rough estimate makes me believe that it shouldn't take longer than a month to implement something that meets your current requirements... Apart from being the most cost-effective solution it also buys you time to investigate on the scalability possibilities of CF (or alternative platforms).

Posted: Fri Mar 23, 2007 4:06 pm
by angelseye
I agree with you on that. Having developed in it for so long and understanding how it actually integrates with Java makes me cheer it on even more...but I am also the kind of guy who likes to step on the other side of the debate and root for the other guy...I'm a Libra...we're about balance. With that being said, I promised the head honchos that I would go out and convince myself with factual data that PHP (or any other language) would be the better option for covering all our bases. So besides doing statistical research...I'm also looking for input from the experienced developers from the other languages.

Posted: Fri Mar 23, 2007 4:06 pm
by RobertGonzalez
I'd use PHP. Why?
  • It runs on almost platform, though it performs exceedingly well on open source platforms like *nix.
  • It runs on almost any server software, though it performs exceedingly well on Apache, which happens to be open and free.
  • It plays well with almost every database server, though it performs exceedingly well with MySQL and PostreSQL, both of which are free and open.
  • It is widely supported around the development community, and the talent pool is growing every day when looking for developers.
  • The core is regularly updated and new releases and patches are put out often.
  • It is free (like speech and beer).
  • It is scalable, extensible, easily learned and even more easily maintained, for the right codebase.
  • Open source packages written in PHP are abundantly available.
  • It is free (like speech and beer, and yes this is a repeat).
I would tend to stay away from .NET for the reasons feyd mentioned. .NET can perform very well for scalable web apps, and VS has made just about an fool with a computer able to build a .NET app. But being locked into an essentially all microsoft system with license costs and the what not, well, that is neither cost effective nor scalable nor easily maintained.

Of course, I am a PHP junkie to the core, and would recommend it to anyone, so you may be getting a biased opinion out of me. But what did you really expect from the PHP Developers Network forums? :wink:

Posted: Fri Mar 23, 2007 4:16 pm
by angelseye
Thanks Everah...that's exactly what I want...biased and non-biased input. Preferably those with data to back up what they say will be more credible...but I'll take everything because otherwise I wouldn't be doing good research.
I loved the bullet points and about 80% of them are also covered by ColdFusion so that's great to be able to hear a PHP developer say these are the reasons because I don't know PHP that well but I do know CF very well and I'm able to compare apples to apples.

Posted: Fri Mar 23, 2007 4:42 pm
by RobertGonzalez
Oh yeah, forgot to mention that just about any Linux distribution can set LAMP up for you at install time so there is no fooling with config files, installs, downloads, etc.

Posted: Fri Mar 23, 2007 4:46 pm
by timvw
Imho another reason to choose PHP is the fact that there are lots of developers available ;)

Posted: Fri Mar 23, 2007 5:27 pm
by angelseye
What about asynchronous processing? I worked on a project using CFMX7 where we were able to run 10 threads at once behind the scenes to process information that didn't involve the user (like connecting to phone systems and sending out automated phone calls even after the user has finished their message and closed their browser).

Thanks

-Erick

Posted: Fri Mar 23, 2007 5:33 pm
by feyd
PHP doesn't support multiple threads, but it does have the ability (through various commands) to run other processes.

Posted: Fri Mar 23, 2007 7:14 pm
by wei
i would say build it in asp.net. Myspace was ColdFusion to start with, then they moved to asp.net. However, their growth problem is/was much related to database, disk and network I/O rather than what ever language you choose to implement with.

http://www.baselinemag.com/print_articl ... 614,00.asp

Posted: Fri Mar 23, 2007 8:38 pm
by alvinphp
If you want a site that can handle huge bandwidth the biggest thing you need is experienced programmers that know how to code enterprise level applications. Any of the popular language can handle a site like myspace if the code is written correctly and you have the hardware and database to support it.

Posted: Sat Mar 24, 2007 9:27 am
by onion2k
alvinphp wrote:If you want a site that can handle huge bandwidth the biggest thing you need is experienced programmers that know how to code enterprise level applications. Any of the popular language can handle a site like myspace if the code is written correctly and you have the hardware and database to support it.
Actually ColdFusion can't handle large scale websites, that's why the MySpace guys switched away from it.