Ruby (programming language)

related topics
{math, number, function}
{system, computer, user}
{work, book, publish}
{language, word, form}
{film, series, show}
{service, military, aircraft}
{water, park, boat}
{day, year, event}
{ship, engine, design}
{company, market, business}
{area, community, home}
{mi², represent, 1st}

Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto. It was influenced primarily by Perl, Smalltalk, Eiffel, and Lisp.

Ruby supports multiple programming paradigms, including functional, object oriented, imperative and reflective. It also has a dynamic type system and automatic memory management; it is therefore similar in varying respects to Python, Perl, Lisp, Dylan, Pike, and CLU.

The standard 1.8.7 implementation is written in C, as a single-pass interpreted language. There is currently no specification of the Ruby language, so the original implementation is considered to be the de facto reference. As of 2010, there are a number of complete or upcoming alternative implementations of the Ruby language, including YARV, JRuby, Rubinius, IronRuby, MacRuby, and HotRuby. Each takes a different approach, with IronRuby, JRuby and MacRuby providing just-in-time compilation and MacRuby also providing ahead-of-time compilation. The official 1.9 branch uses YARV, as will 2.0 (development), and will eventually supersede the slower Ruby MRI.

Contents

Full article ▸

related documents
Stone–Čech compactification
Series (mathematics)
Infinity
Newton's method
Integration by parts
Functor
Direct sum of modules
Complete lattice
Boolean satisfiability problem
Riemann zeta function
Denotational semantics
List of trigonometric identities
Principal components analysis
Obfuscated code
Russell's paradox
Pascal's triangle
Numerical analysis
Johnston diagram
Forcing (mathematics)
Kernel (algebra)
Cardinal number
Sequence alignment
Gaussian elimination
Cauchy sequence
Lua (programming language)
Groupoid
Huffman coding
Non-standard analysis
Bra-ket notation
Entropy (information theory)