Ruby (programming language)
| Ruby | |
|---|---|
| Paradigm | Multi-paradigm: functional, imperative, object-oriented, reflective |
| Designed by | Yukihiro Matsumoto |
| Developer | Yukihiro Matsumoto, et al. |
| First appeared | 1995 |
| Stable release | 3.4.6 [1]
/ 16 September 2025 |
| Typing discipline | Duck, dynamic, strong |
| Scope | Lexical, sometimes dynamic |
| Implementation language | C |
| OS | Cross-platform |
| License | Ruby License |
| Filename extensions | .rb, .ru |
| Website | ruby-lang.org |
| Major implementations | |
| Ruby MRI, TruffleRuby, YARV, Rubinius, JRuby, RubyMotion, mruby | |
| Influenced by | |
| Ada,[2] Basic,[3] C++,[2] CLU,[4] Dylan,[4] Eiffel,[2] Lisp,[4] Lua, Perl,[4] Python,[4] Smalltalk[4] | |
| Influenced | |
| Clojure, CoffeeScript, Crystal, D, Elixir, Groovy, Julia,[5] Mirah, Nu,[6] Ring,[7] Rust,[8] Swift[9] | |
| |
Ruby is a general-purpose programming language. It was designed with an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including primitive data types. It was developed in the mid-1990s by Yukihiro "Matz" Matsumoto 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.[10][3]
- ^ Cite error: The named reference
Ruby 3.3.0 Releasedwas invoked but never defined (see the help page). - ^ a b c Cite error: The named reference
nov2prowas invoked but never defined (see the help page). - ^ a b Cite error: The named reference
confreakswas invoked but never defined (see the help page). - ^ a b c d e f Cite error: The named reference
biniwas invoked but never defined (see the help page). - ^ Cite error: The named reference
Juliawas invoked but never defined (see the help page). - ^ Cite error: The named reference
Burkswas invoked but never defined (see the help page). - ^ Cite error: The named reference
Ring and other languageswas invoked but never defined (see the help page). - ^ Cite error: The named reference
rustwas invoked but never defined (see the help page). - ^ Cite error: The named reference
lattner2014was invoked but never defined (see the help page). - ^ Cite error: The named reference
aboutwas invoked but never defined (see the help page).