Get Started Now!
Course SubscriptionsFull online version of the tutorial, embedded streaming videos for all sections, exercises with editable answers, progress tracking, and membership in the Learn Enough Society (community exercise answers, private chat group). Pause your subscription at any time!
Learn Enough offers a generous scholarship program to help out in case cost is a factor. We’ve already awarded over 1500 Learn Enough Scholarships to a wide variety of recipients, including students, people between jobs, and residents of countries with unfavorable exchange rates. Applications are quick, easy, and 100% confidential. Learn More
All Learn Enough tutorials come with a 60-day 100% money-back guarantee. If for any reason you aren’t satisfied with any tutorial purchase, just let us know and we’ll refund your payment.
Your programming journey starts
With the Ruby TutorialWith the foundations laid by the previous Learn Enough tutorials, you’re now ready to learn how to develop larger software systems, including dynamic web applications. You’ll start by learning either Python or Ruby (or both), using them for general-purpose programming and to make a simple web application. With Python, you’ll also learn key Python tools for the fast-growing field of data science. Learning Ruby, meanwhile, leads naturally into the Ruby on Rails Tutorial, the leading introduction to web development with Rails. In a final optional tutorial, you’ll learn how to use Action Cable to make real-time web apps that respond instantly to user input. By the time you finish these courses, you'll be ready to start work as a freelancer, get a job as a developer, or start a web-based company of your own.
Ruby is an elegant object-oriented programming language with applications ranging from shell scripting and package management to full-stack web application development. Learn Enough Ruby to Be Dangerous is designed to get you started writing practical and modern Ruby programs as fast as possible, with a focus on the real tools used every day by software developers.
Learn Enough Ruby to Be Dangerous broadly follows the structure of Learn Enough JavaScript to Be Dangerous, which can be studied either before or after this tutorial. Because many of the examples are the same, the tutorials reinforce each other nicely—there are few things more instructive in computer programming than seeing the same basic problems solved in two different languages.
To be productive with Ruby, you don’t have to know everything about it—you just have to learn enough to be dangerous.
Learn Enough Ruby to Be Dangerous gets off to a quick start by deploying a simple but real dynamic site to the live Web. You’ll also learn how to use Ruby to write a simple shell script and to execute Ruby interactively using a Read-Eval-Print loop (REPL). En route, you’ll discover that you already own the best interactive system for learning Ruby—a computer!
Next, you’ll take a tour of common data structures in Ruby, including Strings, Arrays, and other native objects like Hashes and Regular Expressions. These structures form the essential building blocks for longer programs.
You’ll then learn about functions, objects, and classes. This section of the tutorial includes the rarely taught but elegant and hugely valuable set of techniques called functional programming—the same kind of programming used by Google to process data from the Web. You’ll also learn about the important practice of test-driven development en route to writing and publishing a simple Ruby library (or “gem”).
The final chapters of Learn Enough Ruby to Be Dangerous cover full-strength shell scripting and introduce Sinatra, a simple and easy-to-learn web framework. You’ll end by using Sinatra to make and deploy a working web application. The result is a well-rounded command of Ruby that is especially good preparation for learning professional-grade web development with a resource like the Ruby on Rails Tutorial.
saying nice things!
Q: What is Jimmy Wales' favorite book?
A: It changes often. At the moment, it’s Ruby on Rails Tutorial by Michael Hartl. :)
I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!
I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!
I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read.
I have been trying to learn web development and programming on and off for the past 3 years and your website is the first one that I feel does the job right.
Just bought the new ebook and want to say keep up the great work!! The Learn Enough to Be Dangerous series re-ignited my desire to code after 10+ years of “meh”.
The Learn Enough Society and the courses are incredible. It’s the best value in the market of online courses in my opinion. Like you say, it’s learning to tech, which is very useful in our world.
I just meant to tell you: your tutorial books from the Learn Enough series are awesome! The books are well-written, clear, concise, super-useful, and even fun to read. Thank you so, so much for this! I have bought the first three and will buy whatever you publish next. Keep up doing this very good work and thanks again.
Have been following the whole “Learn Enough to Be Dangerous” series and am VERY impressed with it. I am a project manager who works with software developers daily. These sessions have provided me with a huge amount very useful information, to the extent that I now not only understand what the dev guys are talking about, but am starting to use the tools (command line, Git, etc.) that they use.
Michael Hartl is one of the best educators around when it comes to web development. I have been following him for a long time, and everything he produces is top quality. If you are looking for a quick way to become a thorough and productive professional web developer, Hartl’s books are a great place to start.
Hi, my name is Philip, and I’m a beginning learner of web development. I’ve dabbled in small ways in Ruby/Rails for about a year and a half. Occasionally, I write ruby scripts to solve problems at my job. I also dabble in learning: JavaScript, Ember, more Ruby/Rails, brief intro readings into Scala.
I’ve tried Codeschool, Codecademy, and I’ll stop there, so you don’t spend the next 3 hours reading all the different learning resources I’ve tried.
Ruby on Rails Tutorial (Rails 5) is undoubtedly, the most effective and educational resource I’ve ever come across when it comes to learning anything about web development or writing any code on any level.
Here’s what you seem to understand that everyone else just gets wrong: There’s a big spectrum between the very beginner basics: declaring variables, to voodoo, magical, incantational trickery of witchcraft, like building your own web server.
Almost all tutorials make this mistake. The first couple “lessons” are good for people who don’t even have a clue what computer programming is and then suddenly, there’s a big jump to what seem to be concepts that only seasoned developers have mastered.
Thanks for such a great, educational guide in Ruby on Rails.
Get free access to all 10 Learn Enough courses (including the Ruby on Rails Tutorial) for 7 days!
We require a credit card for security purposes, but it will not be charged during the trial period. After 7 days, you will be enrolled automatically in the monthly All Access subscription.
BUT you can cancel any time and still get the rest of the 7 days for free!
All Learn Enough tutorials come with a 60-day 100% money-back guarantee.