10 reasons to start learning Ruby
Programming languages are similar to spoken languages. Each programming language falls into one or more categories. Fortunately, once you learn one language it's much easier to learn a second language in the same category. Unfortunately, first language is always going to be tough to learn.
Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. It was created in the 1990s by Yukihiro "Matz" Matsumoto in Japan. Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp. It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.
Ruby is considered a higher level programming language than C++. A high-level language features strong abstractions from computer details. Whereas low-level languages are closer to machine details (like memory addresses or CPU registers), high-level languages are closer to a naturally spoken language.
Best reasons to start learn Ruby today -
The Ruby language itself
The Ruby language is pretty impressive. It combines some of the best features of dynamic languages, while taking some of the best ideas from strongly typed, static languages and blending them with an object-oriented paradigm that is focused on getting things done" and not "writing lots of code. The Ruby language may very well find it makes you quite productive.
Ruby on Rails
Ruby and Ruby on Rails are the same thing. Ruby on Rails is basically a collection of shortcuts written in Ruby that lets you build web applications - basically websites really quickly. The time that is taken to develop the web application can be drastically reduced by using ROR framework. It is relatively very much lower when compared to developing a web application. Learning Ruby On Rails will help you to develop both frontend and backend of the application.
Code-based data model
In Ruby on Rails, you define your data model with code. In fact, once the initial data model is made, any changes to it are made through scripts that manipulate the model. While this may feel a little unusual, it means that it is trivial to replicate a Rails project on another server or even target it against another database.
Alter your environment in any way you like
Imagine a typical programming situation: you start using a system class or a class written by someone else and you notice that you'd like to have an additional method. At this point you have a few ways to handle this in other programming languages - either modify the developer's source code or derive a new class from the original one. But, in Ruby, you can simply add the method to the original class, without having to hack the original source code, and even for system classes. Basically, Ruby classes are never closed and can be modified at any time from anywhere. Use with care, of course.
Open source, easy to learn and use
Ruby is not just open source, they have a thriving, helpful community out there. Although the magic of open source is often overstated, the reality of Ruby and Rails is close to the ideal, which is great for new developers. Since it is based on Ruby, it is easy to learn and use. The code in Ruby is also easy to read and understand. It is also properly documented. Also missing simple things like missing a semicolon, having white spaces doesn’t cost you time since all these things are not considered by Ruby.
Ruby knowledge is in demand
Currently, Ruby is experiencing incredible growth in demand. It already took 13th place in list of most popular programming languages in the world. Demand for Ruby programmers is most likely tied to the Ruby on Rails framework, which launched the programming language into mainstream development in 2004. Employers are building their websites using Ruby on Rails. They need Ruby developers to maintain their code bases.
Existing code that you can leverage
Ruby has pre-written frameworks and libraries like Ruby on Rails and Chef. You can use this pre-written code for your own projects.Ruby even has its own system to manage frameworks and libraries, called RubyGems. There are currently over 60,000 libraries to choose from!
Rails makes no presumptions about how to turn your logic into output. Instead, you get 100% control over the presentation layer of your code. This makes tying your application's logic to AJAX'ed front ends mighty easy. It also allows you to work closely with design experts, to produce nice looking sites that are difficult to do in less-flexible systems.
Lambda is much more than a Greek letter
Ruby borrows some magic from Lisp and Perl with Proc objects and blocks. Blocks of code that have been bound to a set of local variables. Once bound, the code may be called in different contexts and still access those variables. You could have used the lambda method instead of Proc.new and gotten the same result. This should ring a bell for people who know Perl and Python.
There is something distinct about the Rails philosophy (and toolset) in comparison to the Java or .NET environments. If you are the type of person who "thinks in code" and likes to work with scripts to get things done, Rails may be a great fit for you. While the focus on command-line tools may feel like a quaint anachronism, this mode of working simply suits some people better.