Technology Choices: One Decision Made
I've hit that pivotal point. The database design is done, the prototype is far enough along, and I've set my list of requirements. I now actually have to decide what to program this thing in.
And VOILA! It's PHP!
Actually, it'll be PHP5, to be exact. It was a tough call but I'll explain why it edged out everything else.
That's right. You can't beat free. Even though I'm on the fence on going open-source, it's great that other people aren't. I'm a cheap bastard and PHP fit right in my price point. Now, theoretically, every language is just as cheap. ASP.NET is somewhat of the exception in that it requires a Windows machine which costs money (Yeah, yeah, I've heard about Mono)
Again, most of the languages are available cross platform so this, again, is a pretty minor point. But it's nice to know that what I develop could theoretically run on a PC, Mac or Linux box.
Here's where the things start to tip into a specific direction. PHP is wildly popular. There's a huge development community that has already developed a lot of the components I'll need to put my application together. Similarly, .NET has a popular community but fails in the above two points (again, yes, I've heard of Mono but Mono doesn't have the popularity of PHP).
It's nice to know that there will be a larger base of users to which I can discuss issues with.
Admittedly, I think all languages can be used to develop fairly speedy sites. But some languages (.NET and Java, in particular) are designed with certain programming processes. These processes build layer upon layer of code to make integrating and developing projects easier. This is fabulous from a developers point of view but not so fabulous from a performance point of view. There's a reason why both Java and .NET pre-compile the code to an intermediate stage and that's to improve performance.
Admittedly, this played a small factor. I picked a language with which I've had prior experience with to help lessen the learning curve. Trying to learn a new language would have slowed the development process down and I don't need to be doing that!
To be honest, most of these issues are minor in the grand scheme of things. And in no way am I saying that everyone must use PHP for their web application. Use what you feel comfortable with but most of all, just think about the process and decide for yourself what works best for you.