From Wikipedia, the free encyclopedia

Ruby
Ruby logo.svg
Paradigm Multi-paradigm: Object-oriented, imperative, functional, reflective
Designed by Yukihiro Matsumoto
Developer Yukihiro Matsumoto, et al.
First appeared 1995; 23 years ago
Stable release 2.5.1 (March 28, 2018; 3 months ago[1]) [±]
Typing discipline Duck, dynamic, strong
Scope Lexical, sometimes dynamic
Implementation language C
OS Cross-platform
License Ruby, GPLv2 or 2-clause BSD license[2][3][4]
Filename extensions .rb
Website www.ruby-lang.org
Major implementations
Ruby MRI, YARV, Rubinius, MagLev, JRuby, MacRuby, RubyMotion, Mruby
Influenced by
Ada,[5] C++,[5] CLU,[6] Dylan,[6] Eiffel,[5] Lisp,[6] Lua, Perl,[6] Python,[6] Smalltalk[6]
Influenced
Clojure, CoffeeScript, Crystal, D, Elixir, Falcon, Groovy, Ioke,[7] Julia,[8] Mirah, Nu,[9] Reia, Ring,[10] Rust, Swift[11]
Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan.
According to the creator, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, and Lisp.[12] It supports multiple programming paradigms, including functional, object-oriented, and imperative. It also has a dynamic type system and automatic memory management.