(Disclaimer: I asked this question yesterday at Hacker News . While the answers were good, there was a lack of technical discussion and more “you should use the rails because this is what you know.” Since Joel and Jeff clearly state that they don’t mind repeating questions from other sites ... and since I really like the answers that I find here ... here goes)
Hi guys.
I understand that this post is a shameful question against and, undoubtedly, superfluous with older posts. However, most of the information I find in Rails and Django is outdated and based on much earlier versions of the frameworks, so please forgive me.
First of all ... I'm a Rails guy. I came to him three years ago and really enjoyed what he brought to the table. I'm not the only guy from Ruby ... I have about 11 years of experience, including Java, C / C ++, Perl, Tcl, (some) Python, etc.
In any case, I have an idea, I believe that it will take over the world. I have already made sure that some people will also have friends and family funding to take on some offshore developers and get it in beta as quickly as possible.
Now, however, I left a decision about which technology to use. Although I really enjoyed Ruby ... I'm tired of magic and the abuse of open classes. This is very nice when you need to quickly introduce some kind of behavior, but it can be a real pain when you need to support your project or any of its plugins. I personally prefer Ruby over Python (mainly because of the blocks), but I envy the first occurrence in the Python community. Given this frustration, I am seriously thinking about diving deep into Django and using it for this project.
The pros that I see on the Rails side are:
- Community size (which, given some of this "community", includes PHP refugees, is not necessarily a plus)
- My acquaintance and experience
- The number of companies using it and striving to improve it.
- Availability of offshore resources
Rails disadvantages include:
- Too much magic
- The documentation is still terrible in places
- Inconsistent API
- Did I mention magic?
(perceived) pluses on the side of Django:
- Clarity
- Performance ... I believe that Unladen Swallow will really change the Python landscape and give it a competitive edge.
- Google support for the language itself (see No. 2)
Django disadvantages:
- Learning curve
- Smaller community
- Slower development cycle of the project itself?
- (un) Availability of offshore resources
So this is my thinking process. It’s very convenient for me that I can quickly speed up work on Django, and I have the basics of Python, still in my memory. But I wanted to get your opinion, because I really respect the vision and experience of many people that I read here.
I appreciate your help. I really think this idea will take off, so it’s very important for me to make the right technological decision.
And to say, to choose Rails simply because I have experience, it just doesn't sound right. If so, I will still use Perl or C.
Thanks!