Ruby
Ruby is a pure Object-Oriented language developed by Yukihiro Matsumoto (also known as Matz in the Ruby community) in the mid 1990’s in Japan. 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. Ruby has similar syntax to that of many programming languages like C and Java, so it is easy for Java and C programmers to learn. It supports mostly all the platforms like Windows, Mac, Linux. Ruby is based on many other languages like Perl, Lisp, Smalltalk, Eiffel and Ada. It is an interpreted scripting language which means most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions. Ruby programmers also have access to the powerful RubyGems(RubyGems provides a standard format for Ruby programs and libraries).
Why Learn Ruby?
Many Ruby developers find it fun to work with Ruby, and fun is a great motivator when learning to code. Ruby is a very high level language, which means Ruby abstracts away (i.e. handles for you) most of the complex details of the machine. Thus, you can quickly build something from scratch with less lines of code. Ruby was made popular by the Ruby on Rails framework, a full-stack web framework that makes prototyping a breeze, making it a web framework of choice for many startups and coding beginners alike.
Easy to Get Started With
Ruby was originally designed with the goal of making programming fun, and in Japan, where it came from, Ruby was used to make games. Ruby is succinct and reads like English, which makes the code easy to understand for coding beginners.Since you’ll be able to build prototypes quickly with Ruby on Rails, many find coding in Ruby a satisfying experience.
Flexible
As a dynamically typed language, Ruby does not have hard rules on how to build features, and it is very close to spoken languages. You’ll have more flexibility solving problems using different methods. Furthermore, Ruby is also more forgiving of errors, so you’ll still be able to compile and run your program until you hit the problematic part.
Not Easy to Maintain
Because Ruby is a dynamically typed language, the same thing can easily mean something different depending on the context. As a Ruby app grows larger and more complex, this may get difficult to maintain as errors will become difficult to track down and fix, so it will take experience and insight to know how to design your code or write unit tests to ease maintainability. However, you can learn how to design code better by working with an experienced Ruby mentor.
Slow
As a dynamically typed language, Ruby is slow because it is too flexible and the machine would need to do a lot of referencing to make sure what the definition of something is, and this slows Ruby performance down. Rails is in general more resource-hungry as well. At any rate, there are alternatives such as JRuby, which is a faster implementation of Ruby. While this is probably still not as fast as Java, for example, it’s still a vast improvement
.