I am a computer major student and want to start working on my own idea, on which may be I could build a startup later on. Mostly, my ideas are web based so I haven't thought much about going to Python or going to C++ or anything else. I am not sure about which of the above Django/ROR/CakePhp/etc to chose! There are alot more, it's just that I found these popular than others. After searching inside hackernews posts and comments, I found myself even more confused in choosing between these.<p>What do you guys suggest me to use?<p>And yes, it's not about only one application! As I want to build my own startup, it also concerns about how much will I learn from them, which may help me in my other startups to come!
I would suggest Django over RoR; RoR contains more magic (but RoR seems to offer more convenience for someone experienced with RoR since it is based on convention vs configuration.) Also, I have heard that Rails changes very fastly sometimes, so you may have difficulty catching up if you are a student (but at the same time, it has a livelier community, so that might be a plus -- check out <a href="http://rubyweekly.com/" rel="nofollow">http://rubyweekly.com/</a> ).<p>With Django, the core structure is simpler to understand, and you may continue working on your site after a few week's break easily. This is a little bit like the difference bt. Python and Ruby/Perl; I find Ruby/Perl more flexible (there is more than one way to do it), Python to be more strict (there is usually a single best way).<p>To sum up, I don't think it would make a difference if you were a full time developer working on the project every day, but for a student, occasionally working on a project, Django would be easier to get accustomed to, after not working on the project for a given time.<p>PS: I suggest you to take a look at Flask (Python) or Sinatra (Ruby) too; they might be easier to start with. Your experience with Flask would help with Django, too (or vice versa).
I have the solution to your problem:<p><a href="http://www.coboloncogs.org/INDEX.HTM" rel="nofollow">http://www.coboloncogs.org/INDEX.HTM</a><p>All joking aside, you can be successful with any of the frameworks you mentioned, and any number of other ones. My personal default recommendation is Groovy on Grails, but I can't say that it's objectively better than, say, Ruby on Rails. It's just... groovy.
I'd say - it doesn't matter. As a person who faced the same choice two years ago, I went with RoR. Mostly because of the bigger community around it.
By now I mostly consider it great because it is basically a best-practise sharing example. Any of these frameworks expose you to currently brewing technologies - and that helped me a lot along the way.
If you are new, I suggest RoR, since, it takes all the nitty griddy details out of the way, and lets you focus on the real outcome of your app. Take a Ruby Crash Course and jump into Rails.
If you are going to build in PHP there is no need for any kind of framework. Especially CakePHP. A simple PHP framework can be built in a day that for your needs is a lot better than any existing framework.<p>As far as language choice: this question gets asked like every day. The answer is always the same. What do you feel more comfortable with? Once you answer that, you have your answer.