Change of plan: Learning Django instead of Ruby on Rails
I mentioned previously on this blog that I was going to start learning Ruby on Rails. I’d been a bit busy since then so haven’t had time to get started, but in-between now and then I’ve had multiple recommendations (both on the web and from people in person) that I should start off learning Python and the Django framework instead.
I don’t want this to turn into a RoR vs. Django discussion, but just so people are aware, for the following reasons I’ve decided to change course and learn Python and then the Django framework.
- If I know people face-to-face who know the language I’m in a lot better position to get help if I’m stuck (provided they don’t get sick of me asking).
- My boss recommended it which could possibly mean I can spend some time at work learning it (can’t beat getting paid to learn in work time)!
- While it seems both communities are pretty vibrant at the moment, more people know how to code in Python than Ruby (Python has been around for almost 2 decades longer than Ruby has). This means they’ll be a wider group of people online who can answer my annoying beginner questions (Nai Chng mentions in this article that there are far more Python questions being asked on Stackoverflow than Ruby questions).
- With all the random coincidences of being recommended Django over Rails, it just seems like I’m being led towards the Django framework!
- There’s no reason why I can’t switch again and go back to learning Ruby on Rails if need be.
I’ll put up periodic updates on my learning progress and hope to post a link to my first web app in a couple of months or so.
P.S. Please don’t start a Django vs. Rails argument!
Post a Comment
Comment by Nai
25 March 2011
Haha! Nice to know I had a hand in your decision! Good luck and I hope you enjoy the journey!
Comment by Ren
25 March 2011
Nice and timely. Six Revisions just posted an article about why working with Rails is awesome (http://bit.ly/fpI3gg) so that should keep people confused.
Still happy with django myself though.
Comment by joh
13 April 2011
Good choice.. i’m a rails programmer, (pretty heavily invested), but if I could go back and start over, i’d start with Django.. too much BS in the rails community.. horrible documentation, and alot of denial
Comment by Will
19 April 2011
I went through the same dilemma recently and chose Rails over Django. My reasons:
1. Python is still mainly used in research/academics (because of numpy), desktop apps (because of pygtk,pyqt,wxpython) and sys admin stuffs. So you can’t just hire a Python programmer who has never done web programming to do Django development. Also, Django has its own share of learning curve to master. On the other hand, Ruby became popular because of web development (Rails) and all Ruby developers are likely to know web development (Rails). http://bit.ly/gGKHya
2. I found tonnes of tutorials and screencasts (for almost any web development problem) for Ruby/Rails compared to Python/Django.
3. I found the Ruby/Rails community a lot more enthusiastic and creative than Python/Django community. Take a look at http://modulecounts.com
4. Ruby’s gem ecosystem and Ruby developers’ mass embracing of Github was too hard to miss.
5. Heroku! Nothing comes close to it, yet.