Walter M. Mulas
1




Ruby è un linguaggio di scripting completamente a oggetti. Nato nel 1993 come
progetto personale del giapponese Yukihiro Matsumoto (spesso chiamato
semplicemente Matz), Ruby è stato il primo linguaggio di programmazione sviluppato in
Oriente a guadagnare abbastanza popolarità da superare la barriera linguistica che
separa l'informatica nipponica da quella internazionale e ad essere usato anche in
Occidente in progetti di rilievo.
Il linguaggio che ha maggiormente ispirato l'autore è lo Smalltalk, da cui Ruby ha tratto
la maggior parte delle sue caratteristiche. A seguire ci sono il Lisp (ed in generale i
linguaggi funzionali), da cui provengono le chiusure (blocchi o processi, in Ruby), e il
Perl, per la sintassi e l'espressività.
Nell'implementazione corrente, Ruby è un linguaggio interpretato. L'interprete, scritto in
C, è rilasciato con una doppia licenza, GPL oppure "Licenza Ruby", in stile BSD, e si trova
attualmente alla versione 1.9.2.
Negli ultimi anni la popolarità di Ruby ha subito una forte impennata, dovuta alla
comparsa di framework di successo per lo sviluppo di applicazioni web, come Nitro e
Ruby On Rails, nonché del Metasploit Framework, ambiente per la creazione e
l’esecuzione facilitata di exploit.
Fonte: Wikipedia
Walter M. Mulas
2




Ruby, pur essendo principalmente un linguaggio ad oggetti, presenta alcune
caratteristiche tipiche dei paradigmi imperativo e funzionale.
Il paradigma ad oggetti di Ruby è puro, come quello di Smalltalk, ossia ogni
componente del linguaggio, dalle costanti numeriche alle classi, è un oggetto, e come
tale può possedere metodi; a differenza dei linguaggi come C++ e derivati, tuttavia, gli
oggetti in Ruby sono qualcosa di molto più dinamico, in quanto è possibile aggiungere
o modificare metodi a run-time. Il tipo di un oggetto, perciò, non è definito tanto dalla
classe che lo ha istanziato, quanto dall'insieme dei metodi che possiede, o, secondo la
terminologia abitualmente utilizzata per i linguaggi stile Smalltalk, dei messaggi a cui sa
rispondere.
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), ovvero il principio secondo il quale il
comportamento di una funzione sui suoi argomenti non deve essere determinato dal
tipo di questi (come accade in C++ e altri linguaggi 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), e che
consentono di sostituire i cicli espliciti, frequenti nei linguaggi a basso livello, con l'utilizzo
di iteratori, nascondendo così al chiamante i meccanismi interni del ciclo in questione.
Fonte: Wikipedia
Walter M. Mulas
3
In queste diapositive illustrerò il primo
programma con il linguaggio di
programmazione Ruby. In particolare,
osserveremo come si inseriscono i dati
nel programma dalla tastiera e
visualizzeremo sullo schermo un
messaggio di benvenuto.
Walter M. Mulas
4
Apriamo il Netbeans (preferibilmente la
versione 6.5 Beta) dal nostro desktop e
creiamo il nostro file*, chiamandolo
“NomeCognome.rb” (potete pure scriverlo
completamente in minuscolo, ma per
convenzione si rinomina il file come
mostrato in questa diapositiva).
* Dovete assicurarvi di avere prima creato un progetto dove salverete i vostri file, altrimenti i vostri file
non saranno eseguiti o compilati duranti l’esecuzione. Se non avete ancora creato un progetto,
FATELO IMMEDIATAMENTE!
Walter M. Mulas
5
Walter M. Mulas
6


Il programma prevede l’operazione di input e
di output. In poche parole, dovremo inserire il
nostro nome e cognome e visualizzeremo un
messaggio di benvenuto (col nostro nome e
cognome, ovviamente!). I comandi principali
di input e di output sono:
gets restituisce al programma una variabile
dichiarata il cui valore è inserito dalla tastiera.
puts stampa il valore compreso tra le virgolette
(“ ”) o apici (‘ ‘). Esiste anche il comando print,
ma che a differenza del comando puts non
emette il carattere di fine linea.
Walter M. Mulas
7
Walter M. Mulas
8
Walter M. Mulas
9
Walter M. Mulas
10

Durante l’esecuzione del programma, si
è aperta, in basso, la finestra di
“Output”. I valori “Walter” e “Mulas”
sono stati inseriti dalla tastiera in quel
riquadro, attivando così il comando di
inserimento gets. Successivamente, con
il comando puts i due valori vengono
visualizzati nell’ultimo messaggio.
Walter M. Mulas
11

Queste diapositive sono un tutorial per
chi affronta per la prima volta un
linguaggio di programmazione. E penso
che possa essere di buon aiuto per chi
ha come “incognite” l’informatica e la
programmazione. In bocca al lupo
ragazzi!!!
Walter M. Mulas
12




Se non riuscite a visualizzare le immagini in
modo nitido, ho postato i link per
visualizzare le immagini e scaricarle (con il
numero della diapositiva corrispondente).
Inizio (6)
Codifica (8)
Preparazione all'esecuzione (9)
Output del programma (10)
Walter M. Mulas
13
Scarica

I/O (versione compatibile 97-2003)