If you want to learn a dynamic, reflective, object-oriented, general-purpose programming language, Ruby can be a good choice. Everything in Ruby is an object except the blocks but there are replacements too for it i.e procs and lambda. The objective of Ruby?s development was to make it act as a sensible buffer between human programmers and the underlying computing machinery. Building web Applications would be easier using Ruby on Rails. It is also used for data analysis, prototyping and for proving concepts.