Ruby
From Wikipedia, the free encyclopedia
Ruby este un limbaj de programare generic, reflexiv, dinamic și orientat pe obiecte. A fost creat la mijlocul anilor '90 din secolul trecut de Yukihiro "Matz" Matsumoto în Japonia.
Acest articol sau secțiune are mai multe probleme. Puteți să contribuiți la rezolvarea lor sau să le comentați pe pagina de discuție. Pentru ajutor, consultați pagina de îndrumări.
Nu ștergeți etichetele înainte de rezolvarea problemelor. |
Ruby | |
Ruby | |
Extensii fișiere | .rb, .rbw |
---|---|
Paradigmă | multi-paradigmă: orientat pe obiecte, imperativ, funcțional |
Apărut în | [1] |
Proiectat de | Yukihiro Matsumoto |
Dezvoltator | Yukihiro Matsumoto[*][[Yukihiro Matsumoto (Japanese computer scientist who created the Ruby programming language)|]] |
Ultima versiune | 2.1.1 ( (2014-02-24)) |
Tipare | duck typing[*][[duck typing (style of dynamic, structural typing with lazy checking of objects' attributes)|]] dynamic typing[*][[dynamic typing (type system paradigm in which objects' types are enforced at runtime)|]] strong typing[*][[strong typing (specificity of a programming language's syntax when manipulating types of data)|]] |
Influențat de | Ada, C++, CLU, Dylan, Eiffel |
Influențe | D, Elixir, Falcon, Fancy |
Sistem de operare | independent de platformă |
Licență | licență Ruby sau licență BSD |
Tip MIME | application/x-ruby[2] text/x-script.ruby[3] |
Prezență online | www.ruby-lang.org |
Modifică date / text |
Combină elemente inspirate din Perl (sintaxa) cu caracteristici din Smalltalk, dar a fost influențat și de alte limbaje precum Eiffel și Lisp. Oferă suport pentru multiple paradigme de programare (funcțională, orientată pe obiecte, imperativă), gestiune automată a memoriei, sistem dinamic pentru tipurile de date; Ruby e similar - în grade diferite - cu Smalltalk, Python, Perl, Lisp, Dylan și CLU.
Este un limbaj orientat pe obiecte: fiecare tip de date este un obiect, inclusive clasele și tipurile pe care multe alte limbaje le consideră primitive (cum ar fi tipul întreg, boolean și “nil”). Fiecare funcție reprezintă o metodă. Variabilele desemnează referințe la obiecte, nu obiectele în sine. Ruby suportă moștenirea, dar nu moștenirea multiplă, totuși clasele pot importa module. Sintaza procedurală este acceptată, dar toate metodele definite în afara scopului unui obiect particular sunt de fapt metode ale clasei obiect. Din moment ce clasa este părinte pentru toate celelalte clase, schimbările devin vizibile pentru toate clasele și obiectele.