Ask HN: Does knowing Python give you a significant head start learning Django?

1 points by nwenzel ↗ HN
Taught myself Python 9 months ago to do some data work. Looking to build an alpha version of a data-driven web app. I have no experience with Ruby (or Rails). Does knowing Python help significantly with the Django learning process? Should I even bother investigating Ruby on Rails? Is Django the way to go?

Edit: Edited title for clarity so that this would not appear to be a Django vs Rails question. There are enough of those.

4 comments

[ 3.3 ms ] story [ 38.1 ms ] thread
Django is definitely cool, and yes, knowing Python will help you in as much as knowing HTML will help you learn web page design.

You might also check out less-overhead Python frameworks, such as Flask (http://flask.pocoo.org/) or WebPy (http://webpy.org/).

Thanks. I've played with Flask a bit but haven't really gotten into anything too intense. That is a good idea to see if Flask can take care of me for an initial prototype/alpha level release. I guess I jumped straight to Django thinking I had a complex problem and needed a full-featured solution. I'll give Flask a second look.
I think you're better off picking the technology stack based on the community around it. With only 9 months of Python under your belt, it wouldn't be much of a loss if you switched now. Try to get a feel for the Ruby/Rails and Python/Django communities and in which one you'd feel more comfortable participating.

To make some sweeping generalisations, Pythonistas tend to be more computer-sciencey than the Ruby crowd, and if you're doing a lot of heavy number crunching, it might be worth checking out SciPy/numpy and whether there are equivalent stacks in Ruby (I have done this research but my gut says there aren't.) OTOH, the sheer size and popularity of RoR means that it's much easier to find work in Ruby/Rails than Python/Django. YMMV.

Thanks. I'm more computer-sciencie myself. Or maybe more data-science. I think I'll go through a tutorial for both and see what happens.