THE 1990S

Ruby

On February 24, 1993, two Japanese computer scientists, Yukihiro Matsumoto and Keiju Ishitsuka, discussed online what to name their new programming language project. They wanted a gemstone. After considering “Coral”, they chose “Ruby”. One character shorter, thus simpler to type.

Yukihiro Matsumoto, whom everyone calls Matz, wanted to create a truly enjoyable object-oriented scripting language. He borrowed flexibility from Perl, object-oriented vision from Smalltalk, rigor from Eiffel, reliability from Ada, and expressiveness from Lisp. From this blend emerged a language distinguished by its elegance.

The first public version, 0.95, was released on December 21, 1995 on Japanese forums. Success in Japan was immediate. In 1997, netlab.jp, a Japanese company specializing in open source, hired Matz to work full-time on Ruby. Version 1.0 appeared in 1996, version 1.1 in August 1997. Development accelerated.

Matsumoto designed Ruby according to the principle of least surprise. Methods bear names drawn from common English vocabulary that naturally describe their function. For character strings, we find verbs like strip, split, delete, or upcase. Learning is intuitive, code maintenance easier.

In Ruby, everything is an object. Truly everything, including numbers and primitive types. This approach, inherited from Smalltalk, unifies the syntax. Developers apply the same principles to all elements they manipulate. The language gains consistency.

Ruby allows modification of its essential components, enabling programmers to redefine and enrich existing classes and add methods to built-in classes. For example, one can enrich the number class with a plus method to make code more expressive. This flexibility appeals.

In 2001, Ryan Leavengood began developing RubyGems, a tool to simplify library distribution. The project stopped when Leavengood left at version 0.4.0, but a new team took it over in 2003 and completely rewrote it. RubyGems then became a central element of the ecosystem.

The year 2004 changed everything. David Heinemeier Hansson created Ruby on Rails, a web framework that propelled Ruby onto the international stage. This platform attracted developers with its pragmatic approach and productivity. Apple integrated Ruby on Rails into Mac OS X v10.5 “Leopard”. This recognition by an industry giant accelerated the language’s adoption.

Ruby’s popularity peaked in 2006, when it received the title of “Programming Language of the Year”. In 2016, it reached eighth place in the TIOBE index. Between 2013 and 2020, Ruby evolved from version 2.0.0 to version 3.0.0. The language reached technical maturity.

The community remains dynamic. In 2022, there were 2.4 million Ruby developers worldwide. Airbnb, Shopify, Coinbase, and GitLab use Ruby and contribute to its development. The Rails Foundation, recently created, works on documentation, training, and language promotion.

Version 3.0, released in 2020, brought significant performance improvements. The “Ruby 3x3” project aims to triple the performance of version 3.x compared to Ruby 3.0. Developers optimize the MJIT compiler, refine the garbage collector, and improve concurrency support through Ractors.

Several alternative implementations enrich the ecosystem. JRuby runs on the Java virtual machine, TruffleRuby offers high performance thanks to GraalVM. Matz leads the development of mruby, a lightweight version designed for embedded systems. These variations expand the language’s usage possibilities.