This article's lead section may be too technical for most readers to understand.(June 2022) |
Paradigm | Multi-paradigm: functional, imperative, object-oriented, reflective |
---|---|
Designed by | Yukihiro Matsumoto |
Developer | Yukihiro Matsumoto, et al. |
First appeared | 1995 |
Stable release | 3.3.6 [1]
/ 5 November 2024 |
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 an interpreted, high-level, 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 dynamically typed and 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, Java, and Lisp.[10][3]
Ruby 3.3.0 Released
was invoked but never defined (see the help page).nov2pro
was invoked but never defined (see the help page).confreaks
was invoked but never defined (see the help page).bini
was invoked but never defined (see the help page).Julia
was invoked but never defined (see the help page).Burks
was invoked but never defined (see the help page).Ring and other languages
was invoked but never defined (see the help page).rust
was invoked but never defined (see the help page).lattner2014
was invoked but never defined (see the help page).about
was invoked but never defined (see the help page).