Riunire i punti di forza di Ruby con l’efficienza di Java: questa l’idea fondamentale che ha portato
Charles Oliver Nutter, uno dei responsabili dello sviluppo di
JRuby, a promuovere un progetto sperimentale per la realizzazione di un nuovo linguaggio di programmazione, che sia:
- indipendente (o meglio agnostico, per usare le parole dell’inventore) dalla piattaforma;
- libero da ogni vincolo relativo al tipo di sistema di back-end
- in grado di garantire che la generazione del codice e i relativi dettagli siano specificati dal linguaggio utilizzato esternamente.
Nella pratica, l’autore ha tradotto questi principi in un linguaggio che dal punto di vista sintattico è essenzialmente simile a
Ruby, ma che staticamente
tipizzato e soprattutto che può essere compilato in bytecode ed eseguito sulla Java Virtual Machine (JVM).
Il risultato di questo progetto è rappresentato da
Mirah (che nella lingua dell’isola di Java significa appunto “rubino”, ossia “Ruby” in inglese), che dopo un anno di sviluppo ha raggiunto uno stato sufficiente stabile, tanto che il rilascio della versione 1.0 è previsto per la fine di quest’anno, come annunciato dall’autore stesso durante l’ultima
O'Reilly Open Source Convention (OSCON) tenutasi a Portland.
Sebbene attualmente
Mirah manchi ancora di alcune delle caratteristiche sia di Ruby e JRuby (ad esempio, alcune utili API di Ruby non sono ancora state implementate) sia di Java (ad esempio, i
generics), questo nuovo linguaggio può già essere utilizzato per sviluppare semplici applicazioni:
alcuni esempi sono disponibili sul
sito di presentazione del progetto.
Tuttavia, nelle intenzioni dell’autore,
Mirah dovrebbe essere indirizzato allo sviluppo di applicazioni altamente performanti, nonché di
applicazioni per il cloud Google App Engine e per le piattaforme mobili basate su
Google Android.