Ruby (linguaggio di programmazione): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Aggiornata ultima versione di Ruby, indicata la versione italiana del sito |
|||
Riga 19:
|sito_web = https://www.ruby-lang.org/it/
}}
'''Ruby''' è un [[linguaggio di programmazione]] interpretato [[open source]] completamente a [[Programmazione orientata agli oggetti|oggetti]]. Nato nel [[1993|1995]] come progetto personale del [[giappone]]se [[Yukihiro Matsumoto]] (spesso chiamato semplicemente ''Matz''),
Il successo di [[framework]] come [[Ruby on Rails]] ha aiutato la diffusione di Ruby soprattutto nello sviluppo di [[Applicazione web|applicazioni web]]. Risulta attualmente nei primi dieci posti dei linguaggi maggiormente popolari e utilizzati nel mondo secondo vari indici di misurazione specifica, come per esempio TIOBE<ref>{{Cita web|url=https://www.tiobe.com/tiobe-index//|titolo=index {{!}} TIOBE - The Software Quality Company|sito=www.tiobe.com|accesso=2021-07-27}}</ref>.
== Sistemi operativi ==
Line 40 ⟶ 38:
* [[Android]]
Potrebbero esistere port per altri sistemi operativi. Esiste inoltre [[JRuby]], un'implementazione Java [https://www.jruby.org/ dell'interprete].
== Caratteristiche principali ==
Ruby, pur essendo un linguaggio ad oggetti, presenta alcune caratteristiche tipiche dei [[Paradigma di programmazione|paradigmi]] imperativo e funzionale.
Il paradigma ad oggetti di Ruby è puro, come quello di [[Smalltalk]], ossia ogni componente del linguaggio, dalle costanti numeriche alle [[classe (informatica)|classi]], è un [[Oggetto (informatica)|oggetto]], e come tale può possedere [[Metodo (programmazione)|metodi]]
In Ruby, dunque, è fondamentale il [[duck typing]] (dall'inglese ''if it looks like a duck, and quacks like a duck, it must be a duck'': "se sembra un'anatra e fa il verso di un'anatra, dev'essere un'anatra"), ovvero il principio secondo il quale il comportamento di una funzione sui suoi argomenti non deve essere determinato dal [[Tipo di dato|tipo]] di questi (come accade in [[C++]] e altri linguaggi [[tipizzazione statica|staticamente tipizzati]]), bensì da quali messaggi essi sono in grado di gestire.
Un'altra caratteristica fondamentale di Ruby è costituita dai cosiddetti ''blocchi'', che sono sostanzialmente delle ''chiusure'' (ovvero funzioni dotate di ambiente),
== Esempi ==
=== Hello world ===
Il seguente esempio
<syntaxhighlight lang="ruby">
Line 61 ⟶ 58:
=== Classi e metodi ===
Ecco un programma semanticamente identico al precedente, ma che si avvale del paradigma
<syntaxhighlight lang="ruby">
Line 145 ⟶ 142:
</syntaxhighlight>
Notare che nei commenti disposti su più righe, <code>=begin</code>
== Note ==
|