When you're starting out to learn coding, what language should you learn first? There's no universally accepted answer, but Ruby on Rails offers a strong case. Rails provides a complete framework for using the Ruby language, it makes doing simple things simple, and there's lots of community support. Learn to code Ruby and you're off to a great start!
The Ruby language has been around for a long time. Yukihiro Matsumoto developed it in the nineties. It didn't catch on in a big way, though, till David Heinemeier Hansson created Rails in 2004. Today we think of "Ruby on Rails" as a single thing, and not much Ruby work happens outside Rails.
The Ruby language
Matsumoto, aka "Matz," wanted a scripting language with object-oriented features. A scripting language is one where you can just write code and run it directly. Some languages, like C and Java, have to run through a compiler program to turn into runnable code. They often require a lot of scaffolding code to do the simplest tasks. You can't just write a few lines of code and instantly run them to see what they'll do. Other languages, like Perl, can just be run from their source code, and a line or two of code is enough to do something interesting.
Scripting languages are easier to learn because they give you a very short cycle of coding and trying things out. Write some code. Run it. It doesn't do what you expect? Fix the problem and try again. There's no need to compile code, or to build a structure around what you're trying to do.
Object-oriented languages build on the idea that units of code and data can be "objects," which can do things and be acted on. The programmer defines a template for an object and then can create any number of instances of it. In Ruby and many other languages, the template is called a "class." Object-oriented code is a natural way of thinking; people do better at thinking about things and categories ("what") than about long lists of instructions ("how"). Ruby provides object-oriented power in a scripting language.
You can use Ruby by itself from the command line, but you'll soon want to learn about Rails, which saves tons of work in creating Ruby applications. Its slogan is "convention over configuration." That means that code running on Rails does what you'd expect it to do, unless you tell it otherwise. You don't have to spell every detail out.
It just takes one Rails command to create a skeletal application. The skeleton follows the widely used model-view-controller (MVC) pattern. The model describes the data which the application uses. The view describes how it's presented to the user. The controller provides the logic that lets the application operate on the data. Learning this pattern will take you a long way toward developing clean Web applications.
Developing code efficiently requires building on what other people have already done. The RubyGems package manager provides a public repository for useful code and a standard way to download and incorporate it into an application. The repository holds over 125,000 gems and has had over ten billion downloads. Among the many functions which gems help with are form generation, file uploading, user authorization, database management, and internationalization.
Gems are one aspect of the Ruby community. Other parts include an active mailing list, the annual RailsConf, and user groups around the world. The community is a valuable resource in getting answers to difficult questions and finding jobs.
Even though Ruby is easy to get started on, it's by no means a toy language. Major websites such as Airbnb and Hulu are built on Rails. It provides a smooth path from first experiments to huge Web applications. DaVinci Coders' courses can get you started on your way to becoming a professional Rails developer.
If you want to learn to code and think that Ruby on Rails training would benefit your future, contact DaVinci Coders. Our coding classes can help get you the job in coding you want.