Recently, I wrote an article about Rapid Java development and how grails compares to other languages such as php and ruby. At a networking event someone approached me and talked to me about that very article. She asked me what software development language and framework I'd choose for a Web 2.0 application.
Interestingly enough when you perform a Google search on this topic you'll find plenty of answers to this question. However, most of them are ideologically charged, so it's hard to get an objective answer. Do not get sucked into these kinds of discussions among your team members, as in my experience they will lead you now. Actually they do lead you somewhere; and believe me, you do not want to wind up there.
I'm of the opinion that most software development languages give you a similar kind of functionality. If you are a startup and have a great idea for a web application there is one single thing I would consider: What is the fastest way to build a working prototype that gets your investors on board?
The choice of programming language should only be based on this single goal. From the top of my mind I can think of a couple of categories you may want to evaluate to come to a decision.
Do you or your team have experience in a software development language? Eg In case you and / or your team are wizards in C #, stop reading right here, drink a six-pack of Red Bull and start cranking out that ASP.NET application. Same goes for any other mature software development language as well as the chosen energy drink.
Use development frameworks when possible. Development frameworks such as CakePHP or CodeIgniter for PHP can really speed up your development. Most of them follow the convention over configuration pattern and can increase your productivity tremendously. You will have to write less code, which generally translates into fewer bugs and you can focus on what differentiates your application from others faster, sometimes your business logic. On top of that you can leakage plenty of plugins developed by other users which will increase your productivity even further.
Maturity of web development framework:
Choose a well-established language and framework. Yes, you can develop an ASP.NET application on Linux using Mono or use Lisp to code the next generation version of Facebook, but this is certainly not the fastest way to get things done. There are a couple of points that say something about the maturity of a language and framework.
How large and active is the community: Grails, RoR, Symfony, Zend, CakePHP, ASP and Django all have thriving communities. Should you ever have a question, you can simply go to one of their forums and get an answer within hours, sometimes even minutes. That will help you not get stuck in your development.
Plugins / Code stubs
The more code you can reuse, the better. No need to write a PayPal integration from scratch when …