JRuby, un linguaggio interpretato per Java
DeveloperWorks di IBM ospita una serie di articoli su diversi linguaggi, che girano grazie a funzionalità altrimenti poco esplorate del Java Runtime Environment; a partire dallo scorso luglio sono stati presentati mensilmente JPython, Groovy e ultimamente JRuby.
L'uso di questi linguaggi esalta la natura dinamica e flessibile della piattaforma Java, ma soprattutto può essere utile ai programmatori, per accedere al mondo Java e viceversa spingersi al di là di questa piattaforma quando servono soluzioni rapide a problemi non eccessivamente compositi.
Per quanto riguarda JRuby, si tratta di una implementazione del linguaggio di scripting Ruby, sviluppato in Giappone da Yukihiro Matsumoto. Il sito di riferimento su questo linguaggio è RubyCentral.
Questo linguaggio Object Oriented combina la potenza di Smalltalk e l'espressività di Perl, con una sintassi intuitiva - nei limiti - ed una semantica trasparente.
Pertanto ci si aspetta che JRuby sia altrettanto potente e facile da apprendere; essendo interpretato, si può usare dalla linea di comando per la valutazione di semplici espressioni o blocchi di codice.
Si può scaricare JRuby seguendo questo link, il file va decompresso poi da WinRar in una directory a scelta, per poi lanciare l'interprete, in ambiente Windows, da un prompt DOS.
La sintassi di JRuby è semplificata dalla mancanza del classico terminatore di istruzioni, il punto e virgola, e dalla posibilità di omettere le parentesi nella chiamata a funzioni senza argomenti.
Come in altri linguaggi di script le variabili non hanno tipo, e quindi non servono dichiarazioni.
Si può accedere agli attributi delle classi bypassando i metodi get e set, come anche nel beneamato(?) Visual Basic.
La potenza di JRuby è esaltata dalla possibilità di usare le funzioni come un qualsiasi tipo di dato, il che implica la possibilità di assegnarle alle variabili.
Per vedere all'opera la potenza di JRuby sulle collezioni e sulle stringhe, l'articolo mostra due esempi; il primo è interessante perché accede ad un file XML mostrando l'interazione con le stringhe di testo, nell'altro si vede come accedere alle classi Java per l'interfaccia grafica, oltre a mostrare le classi Hash e Proc di JRuby.
L'uso di questi linguaggi - o implementazioni di altri linguaggi - può servire come stimolo a nuovi ad apprendere diversi modi di utilizzo di conoscenze già assodate, oppure, come già detto sopra, come stimolo ad affrontare conoscenze diverse e modi differenti di vedere le stesse cose.
Dall'altro lato c'è però il rischio di affogare in una specie di confusione babelica laddove ogni giorno - ogni ora? - nasce un linguaggio, e quasi mai sopravvive. Insomma, bisogna fare una scelta sperando di avere naso e fortuna.
Davide Panceri - Programmazione.it
- [12/09/06] Piattaforma Java e .Net sempre più aperte verso altri linguaggi
- [22/12/04] ElastiC, un linguaggio interpretato simile al C