Ruby è un linguaggio object oriented che è stato creato in Giappone da Yukihiro Matsumoto, un appassionato di linguaggi di programmazione.
Matz, questo è il nickname di Matsumoto, ha creato Ruby un po’ a immagine di Perl, tanto da ispirarsi per il nome a una gemma, come la perla.
Secondo i resoconti degli albori di Ruby la scelta iniziale è stata fra il rubino e il corallo, altra gemma legata al mare.
Ruby è cresciuto tranquillamente in Giappone fino a conquistare notorietà sulla rete e forse per questo ha avuto la possibilità di arrivare al successo mondiale già molto forte per maturità e coerenza.
Una delle caratteristiche di Ruby è la rigorosità del progetto. La geometria e l’eleganza del linguaggio hanno prevalso spesso anche su considerazioni di efficienza.
Una delle conseguenze è che qualunque elemento del linguaggio è un oggetto, non ci sono tipi nativi, come in Java per esempio.
Anche se l’efficienza del linguaggio non ne guadagna, la sintassi diventa molto più pulita, dato che costanti e variabili sono trattate allo stesso modo.
Per provarlo, basta scrivere una espressione come
2.methods
per vedere la lista dei metodi associati al numero 2, cioè una costante, quello che in altri linguaggi rappresenta un indirizzo in memoria che contiene un dato e nulla più.
Deve essere questa eleganza, simile alla lineare essenzialità e al rigore del design giapponese, che ha attratto molti programmatori.
Ruby gode di un “mindshare” invidiabile, è cresciuto fino a eclissare il vecchio Perl, che è rimasto statico a lungo, come abbiamo già osservato.
Ruby ha conquistato il cuore di molti creativi, come non ha saputo fare Python, un linguaggio più rigoroso e geometrico nella sintassi e più liberale nel formalismo, specie quando si tratta di prestazioni.
Deve essere tutto nell’eleganza.
A riprova possiamo citare due cose: tutti i siti dedicati a Ruby hanno generalmente una grafica più accattivante dei siti dedicati a Python, inoltre uno dei capolavori di Ruby, l’ambiente per la creazione di applicazioni web Ruby On Rails, a cui abbiamo dedicato due articoli introduttivi, è una delle piattaforme per il web più originali uscite di recente.
Tutto in Ruby On Rails è ispirato a semplicità e eleganza, ma non c’è una singola ragione specifica per cui l’ambiente poteva essere creato solo in Ruby.
Fra le tante creazioni originali ispirate da Ruby c’è un’idea davvero interessante: un interprete del linguaggio accessibile da web per imparare a programmare.
Una delle ragioni per cui l’interprete ha potuto essere realizzato è una funzione del linguaggio che permette di attribuire un contesto di sicurezza al codice, in modo da isolare in una sandbox il codice poco sicuro, di provenienza esterna.
L’autore di questa piccola meraviglia è anche l’autore di una guida a Ruby esemplare per chiarezza e originalità , con un corredo di immagini e fumetti che lo rendono sicuramente cult fra i programmatori.
Di nuovo, che cos’ha Ruby per attirare i più creativi?
Sun ha preso nota del successo del linguaggio, tanto che ha assunto i creatori di una versione di Ruby che crea codice che esegue in una macchina virtuale Java integrandosi con l’ambiente.
Sarà il linguaggio, sarà Ruby On Rails, speriamo che la ventata di creatività sia notata anche dagli sviluppatori Java, che hanno un’alternativa per la creazione di funzioni generiche del linguaggio o di parametrizzazioni che possono essere meglio espresse in un linguaggio più snello e interpretabile.