I have decided to build the online portal in PHP, supported by Apache, MySQL hosted on Linux. The most cliched LAMP model.
Did I consider other players?
* Ruby on Rails : It was very much on my plate. I have done small utilities ( a server status monitor and a code snippet repository ) in rails and was blown away by the speed and simplicity of doing things. However 2 things went against RoR.
ORM : My last project was a .NET project on Hibernate. It was a 2 year old project and already it felt like a legacy application with things tuned for performance to the maximum. They had crossed the return on investment period of Hibernate ( when relations stay simple at the beginning of any project ) and now were paying heavily for having Hibernate - performance, complexity, things moving to stored procedures..the usual pain points. So active Record did not interest me - being a one man army I did not want battles couple of months from now when I have to hack to implement a feature.
Server support: Nothing can beat mod_php running on Apache. I had to configure nothing. zilch. With ROR things are still emerging - and I do not have the confidence in this space. A good part of my time does go in administering Apache but its something I am quite familiar. I neednot muck with monit or spend lot of time playing with mongrel (a cluster inside one node!!) to have my app working. Apache just sits there smiling at me doing its work super efficiently.
*Java : I am more familiar with Java and its framework than PHP. But the pace of development, team that is required, hosting requirements is just not feasible nor affordable. When this portal takes off big time I will rewrite it in Java - with a team. That will scale well, be stable - rock solid, and well maintenable. But the goal here is to bring something out as fast as possible, give it to as many people as possible and create a mind space.
*ASP.NET : Forget it. I will not recommend it to anyone - even if I get a 1 billion dollar project to redo microsoft.com. ( well on second thoughts I might reconsider :D - I am not Howard Roark !!)
Hosting : LAMP Hosting is cheap. I decided to go with a Virtual Private Server - gives me lot of freedom and flexibility. It takes some effort and linux know how - but its worth the trouble. More on this later.
In conclusion Php suited me well for the portal I am building - fast and quick ( but dirty like hell imagine code spread all over the place : $this->some_function($this-variable); It hurts the eyes !! )
Next post : How I set up my office space for under 500Rs !!