Il punto è che, una volta ottenuta una lingua per girare correttamente su una determinata piattaforma e interfacciarla con essa, puoi fondamentalmente sfruttare tutte le librerie esistenti per quella piattaforma (con poco o nessun sforzo a seconda della piattaforma).
Molto simile a quando Ruby chiama le librerie C, puoi fare in modo che JRuby invochi le librerie Java. E potresti preferirlo, per una serie di motivi:
- Java rafforza la sicurezza della memoria. Quindi, quando si chiama in Java invece di C, c'è meno motivo di preoccupazione
- Qualsiasi strumento / libreria che si desidera utilizzare è solo (o meglio) implementato per Java.
- Si desidera estendere un sistema basato su Java esistente con una lingua come Ruby.
- Ti piace Java.
In breve, la piattaforma Java è un ecosistema enorme e ricco. Ed essere in grado di sfruttarlo con uno dei tanti linguaggi popolari invece di essere legato a Java è positivo sia per la piattaforma sia per le comunità di altri linguaggi.
La tua scelta di lingua e piattaforma non dipende più l'una dall'altra. Ciò significa che non dovrai scrivere in una lingua che non ti piace sfruttare una funzione della piattaforma che ritieni necessaria, o che non ti chiuderai da una piattaforma solo con la tua scelta linguistica.
Si noti che quanto sopra si applica a .NET, sebbene gli Iron-stuff non sembrano essere ancora decollati per quanto ne so. Ma dato che c'è F # e Nemerle e il fatto che C # consente anche la programmazione terser di Java (con Linq per esempio) e che nonostante Mono l'ecosistema .NET abbia forti legami con Windows, chissà se lo sarà mai.