Ruby (programming language)

Ruby is a general-purpose computer programming language that, while originating as an object-oriented scripting language, supports multiple programming paradigms, or styles. An object-oriented programming language consists of small pieces of code that are treated as a single unit, or "object," each of which has specified states and behaviors, belongs to a specified class of objects, and is able to be added, deleted, or copied with ease. Ruby is also open source, meaning that the code can be freely altered, copied, and distributed.

113931302-115600.jpg

Ruby has developed a reputation as one of the easiest general-purpose languages to learn, and because of its close relationship to prominent languages like Perl and Lisp, it is often recommended to beginning programmers as their first language. As a general-purpose language, it is suitable for most programming applications. However, in practice, professional programmers tend to use it in two main areas: system administration tools and web programming. In the latter area, Ruby is the language in which the web application framework Ruby on Rails is written.

Overview

Ruby was developed in 1993 by Japanese programmer Yukihiro Matsumoto, who was attracted to the idea of an object-oriented scripting language but was dissatisfied with the extant version of Perl and did not consider Python a true scripting language. The first public version of Ruby was released in 1995, and a stable Ruby 1.0 launched in December 1996.

The first several releases were popular mainly in Japan. Interest in Ruby spread to the English-speaking world by 1998 and grew significantly following the publication of the first English-language Ruby programming manual in 2000.

The development of Ruby on Rails, or "Rails" for short, is often credited with the enduring popularity of Ruby, as well as its widespread association with web programming. Ruby on Rails 1.0 was released in 2005 and shipped with Mac OS X in 2007. Rails is one of the most popular web frameworks and its popularity drove awareness of Ruby in the mid-2000s. However, it also overshadowed the many other uses of Ruby, such as writing command-line tools and narrow-focused but mathematically-rich programs like those used for music composition.

RubyGems.org hosts libraries of Ruby programs (known as "gems") for the RubyGems package manager, which helps developers to download, install, and maintain pieces of Ruby code that others have created. The first RubyGems project was begun by Ryan Leavengood in 2001 but lacked momentum. A new RubyGems project was begun in 2003 by Rich Kilmer, Chad Fowler, David Black, Paul Brannan, and Jim Weirch, who sought Leavengood’s permission to use the RubyGems name. By that time, the English-language Ruby community had overtaken the original Japanese-language Ruby community.

There are several alternate implementations of Ruby, including JRuby and Rubinius, which run on virtual machines created using the Java and C++ programming languages, respectively. The Ruby Game Scripting System allows RPG Maker software users to design their own role-playing games.

Bibliography

Black, David A. The Well-Grounded Rubyist. Shelter Island: Manning, 2014. Print.

Carlson, Lucas, and Leonard Richardson. Ruby Cookbook. Sebastopol: O’Reilly Media, 2015. Print.

"Everything About the Ruby Programming Language in 2024." Designveloper, 17 Feb. 2024, www.designveloper.com/blog/ruby-programming-language/. Accessed 15 Nov. 2024.

Flanagan, David, and Yukihiro Matsumoto. The Ruby Programming Language. Sebastopol: O’Reilly Media, 2008. Print.

Fulton, Hal, and André Arko. The Ruby Way. 3rd ed. Boston: Pearson Education, 2015. Print.

Goriunova, Olga, ed. Fun and Software: Exploring Pleasure, Paradox, and Pain in Computing. New York: Bloomsbury, 2016. Print.

Olsen, Russ. Eloquent Ruby. Boston: Pearson Education, 2011. Print.

Shaw, Zed A. Learn Ruby the Hard Way. 3rd ed. Upper Saddle River: Pearson Education, 2015. Print.

Yukihiro Matsumoto. Ruby in a Nutshell. Trans. David L. Reynolds Jr. Sebastopol: O’Reilly Media, 2002. Print.