Laurence Bradford began teaching herself how to code over a year ago. When she is not learning something new, she works as a copywriter. Laurence discusses the similarities and differences between Ruby on Rails and Python on Django, two popular object-oriented programming languages, and which language a beginner should start with. Visit her blog at learntocodewith.me, where she writes about learning to code for beginners as well as the best resources available.
Over a year ago I found myself in a position where my career options looked bleak. I had intended on going to graduate school for economic development. But, instead of dishing out the time and money for another two years of school, I decided to teach myself how to code. (I had always loved to problem solve, anyways.) But, like most beginners, I struggled with knowing where to start. I want to create web apps: but where should I begin?
My ultimate goal was to eventually build web apps. After a little “web application development” research on Google, it became clear that Ruby on Rails (RoR) and Python and Django are two very popular methods to create web apps. But which is best for a beginner to learn?
From a technological standpoint, there is no “winner” between the two. RoR and Python and Django share certain similarities and of course have differences.
When it comes to deciding which to learn, your personal preferences as well as end goals are the most important factors. Let’s take a quick look at RoR compared to Python and Django.
Ruby is a programming language that was created in the mid-1990s in Japan by Yukihiro Matsumoto. Rails is an open source web app framework, written in Ruby, that appeared in 2005.
In the startup world.
Python is a programming language that was created by Guido van Rossum in the early 1990s. Django is a free and open source web application framework, written in Python. Its initial release was in 2005.
Benefits of using Python and Django
In the academic and science world.
Ultimately, the main difference between them is that RoR requires less work to get up and running and Django allows for more customization.
When I first began teaching myself how to program, I chose to learn Python. After some initial trial and error, jumping around from language to language, I realized I needed to dedicate myself to one programming language only. I ultimately decided to start off learning Python. For me, it was important that I understood programming fundamentals and logic before jumping into web app creation. Plus, I knew once I mastered Python, it would be easy for me to transition to something else.
Across the web, from MIT to Coursera to Udacity, I saw Intro to CS classes using Python as their instruction language. I knew if they were using Python, it had to be good for beginners. However, when I began wanting to build web apps, I decided to take the RoR route instead of Python and Django.
The reason why I didn’t go the Python and Django route, despite already learning Python, was because my goal was to get lightweight web apps up and running in a short time frame. With rails, it doesn’t take much to get a simple app live. Back to the CoC philosophy, the rails defaults allow for less work. Which, in my case, was what I wanted. Plus, I also chose RoR because of the large community. For instance, in comparison to Django, Rails has double the stars on Github. There is also an abundance of RoR online tutorials, guides and so forth. Heck, there is even a Rails Hotline to call.
Again, when deciding to learn RoR or Python and Django, the most important thing to consider is your personal preferences and goals. Some people have a preference for one of the two programming languages. As mentioned earlier, Ruby has a pattern-matching structure whereas Python closely resembles the English language. (Remember, Ruby was created by a Japanese speaker whereas Python was developed by an English speaker.)
As far as goals go, do you have a specific dream job? Or dream company to work for? If yes, see which language and framework they use. Or, perhaps, you see yourself working for a startup or creating your own. If yes, look into RoR.
However, maybe you’re more interested in “big data” and the ability to customize every aspect of your web app. If so, look into Python and Django.
Lastly, keep in mind once you become a more seasoned programmer, it is much easier to make a transition to another programming language or a new framework. So if you start off learning RoR, but then one day get a job that requires Python and Django, it won’t be the end of the world.
Ready to take the plunge into an immersive coding bootcamp? Start by researching these Ruby on Rails Bootcamps + Python Bootcamps:
Interested in more comparisons between Ruby and Python? We did a comprehensive webinar comparing the two languages! Check it out.
And use our Bootcamp Matching Tool to find the best school teaching Ruby and Python!
Not sure what you're looking for?We'll match you!
Everything you need to know about linear algebra, calculus, probability, and statistics!
We compare curricula, costs, time commitment, and more at these two online learn-to-code resources!
Our guide to choosing between Dataquest and Datacamp – two self-paced, online data science classes.