3.1. What's Ruby?
As briefly discussed in the first chapter, Ruby is a modern object-oriented programming language that was first released by its author, Yukihiro Matsumoto, back in 1995. Despite being older than C#, and just as old as Java, Ruby's recognition outside of Japan has been undeservedly very limited for many years.
Over the past few years, Ruby has been one of the fastest growing languages in the world. Rails made this popularity possible, but as many developers have discovered, Ruby is a language whose value stands on its own. And it's very much worth knowing independently from your interest in Rails.
Ruby is fully object-oriented (everything is an object), but it is also considered multi-paradigm, because it allows for a procedural style (useful for scripts) and has support for several elements that are typical of the functional programming world.
Clearly Ruby has been influenced by many languages, but it can be said that it combines an object model, which is heavily inspired by Smalltalk, with the immediacy, pragmatism, and text processing ability of Perl (which also influenced its syntax), plus the expressive nature of Lisp.
Ruby is often referred to as a scripting language, but what's more important is that it's a very high-level language that's both powerful and concise. It was created with the intention of being programmer-friendly, focused on simplicity and productivity, and as such it is often associated with the principle of least surprise (POLS). This principle ...