Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby

Will the RoR track help me "learn" Django?

I have a beginner's understanding of Python (~1yr of use and not daily - only on some work-related projects where it is applicable) and use it for some scientific programming. So while I understand the syntax and the common libraries, diving straight into Django is a pretty big leap, especially since I'm just now learning web development. The syntax isn't the problem, understanding the ideas and how the framework works and interacts with the Internet is.

Since Django is based on RoR, will going through the Rails courses help me transfer a lot of that knowledge to Django?

Of course, there's definitely the possibility that I learn to love Rails on its own, continue to use Python at my job as I currently do, and just use Rails for personal projects.

2 Answers

Ricky Catron
Ricky Catron
13,023 Points

I don't believe Django is based on Ruby on Rails... feel free to correct me if I am wrong and where did you find this information? Ruby on Rails may teach you a few skills you can apply to Django but overall I don't think it will help much. While they accomplish a lot of similar things I believe a Python framework like Flask offered here would help a lot more until the official Django courses come out. In the mean time Django has a fabulous tutorial here.

Diving into Django is a big leap. Flask is a much easier jump. It can be a little complex but all told I find it far easier then Django. It has a nice simple model with lots of great plugins but if I wanted tons of features and easy management I would still use Django.

I have always believed in learning Ruby OR Python. Not Ruby AND Python. I heard a great quote once that if what you are learning doesn't teach you new concepts and not just new syntax it is not worth learning. Python and Ruby both accomplish similar things and I don't think there as many differences as between Python and C or C++.

Goodluck! --Ricky

Thanks for the response, Ricky.

My comment about Django being based on Ruby is misspoken; from various readings, it seems like they share common features and concepts. From https://bernardopires.com/2014/03/rails-vs-django-an-in-depth-technical-comparison/

"Both frameworks were born out of the need of developing web applications faster and organizing the code better. They follow the MVC principle, which means the modelling of the domain (model), the presentation of the application data (view) and the userโ€™s interaction (controller) are all separated from each other. As a side note, Django actually considers the framework to be the controller, so Django addresses itself as a model-template-view framework. Djangoโ€™s template can be understood as the view and the view as the controller of the typical MVC scheme. Iโ€™ll be using the standard MVC nomenclature on this post."

So what little I have played with Django, the standard tuts talk about defining models which interact with tables (not sure of the vocabulary here) but also interact with views, which interact with the front-side. Again, I may confusing the terminology and processes.

It sounds like branching out to RoR might not prove to be very useful, especially since I already use Python for its scientific libraries.

I will check out Flask.

Ricky Catron
Ricky Catron
13,023 Points

Sounds like you actually have a pretty good handle on the terminology. They are similar and created to address the same problem, building complex websites with their respective language. If you already know Python then Flask and Django is the direction I would recommend. I believe there are Django courses coming out sometime soon(ish).

Keep playing with Django a little, most of my biggest Ah HA! moments have come from messing around with a new library or framework.

Goodluck! --Ricky