Ruby (programming language)

Ruby
ParadigmMulti-paradigm: functional, imperative, object-oriented, reflective
Designed byYukihiro Matsumoto
DeveloperYukihiro Matsumoto, et al.
First appeared1995 (1995)
Stable release
4.0  / 25 December 2025 (25 December 2025)
Typing disciplineDuck, dynamic, strong
ScopeLexical, sometimes dynamic
Implementation languageC
OSCross-platform
LicenseRuby
Filename extensions.rb, .ru
Websiteruby-lang.org
Major implementations
Ruby MRI, TruffleRuby, YARV, Rubinius, JRuby, RubyMotion, mruby
Influenced by
Ada, BASIC, C++, CLU, Dylan,
Eiffel, Lisp, Lua, Perl, Python, Smalltalk
Influenced
Clojure, CoffeeScript, Crystal, D, Elixir, Groovy, Julia, Mirah, Nu, Rust, Swift
  • Ruby Programming at Wikibooks

Ruby is a general-purpose programming language. Its design puts an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including primitive data types. Yukihiro "Matz" Matsumoto started to develop the language in the mid-1990s in Japan.

Ruby is interpreted, high-level, and dynamically typed; its interpreter uses garbage collection and just-in-time compilation. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. According to the creator, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, BASIC, and Lisp.