Caution to reader: this blog post is 3 months or older. Blog posts older than three months may contain details about the Hack Reactor program that are no longer accurate. Please refer to other pages on our website to confirm current information and email us with questions.
(This article and Quora answer were written by Hack Reactor Co-Founder Shawn Drost)
Created by Yukihiro “Matz” Matsumoto, Ruby is a blend of a variety of different, lesser used languages. “I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python," Yukihiro said. You can read a thorough list of Ruby's features here.
Ruby on Rails provides a wide array of tools that can be used to complete repetitive, automated tasks that would normally consume large amounts of time. These tools make Ruby much more enjoyable and efficient to use, but at this point in your coding education, they're not essential.
What you want to be thinking about right now are the fundamentals, concepts and ideas, not specific tools you that may or may not use on future projects. Focus on the thinking part of coding, and not the little pieces.
"Ruby on Rails is a fully-featured web framework that comes with a lot of configuration decisions baked in. This allows developers who use it to skip a lot of the setup and boilerplate code that are common to most web applications, and start writing the code specific to their application as quickly as possible. Rails is especially well suited for applications that perform a lot of CRUD actions (create, read, update, destroy) on a collection of items of a single type, as posts for a blog, or tweets for a Twitter stream. "
At the end of the day, having familiarity and a professional ability to code with one of the major programming languages is a great start to your developer career. By mastering one language, you'll have an easier time transitioning to the next.
As Drost explains, "Learning a new language is easy, once you know how to code, so it doesn't turn out to matter all that much. Your decision should be based on which one offers you more learning resources. If you have a close friend that knows one or the other, learn that -- you'll have someone to help when you have questions. If you have a friend that's studying one or the other, do that -- you'll have someone to hack on stuff with."