Un intérprete alternativo de R

Java es un lenguaje de programación que puede ejecutarse sobre muchas máquinas virtuales distintas: la de Sun, la de IBM, etc. Algo parecido pasa con SAS, que puede ejecutarse sobre el intérprete de SAS Institute o sobre el de WPS.

El código escrito en R puede ejecutarse, en principio, en dos plataformas distintas:

  • La creada por el R Development Core Team y que todos, más o menos, conocemos.
  • La desarrollada por Tibco (y, previamente, por Insightful) para S-Plus, el dialecto propietario de R (o S).

¿Son esas todas las opciones? Sí, por el momento.

Pero hay unos cuantos voluntarios que están desarrollando renjin, un intérprete alternativo de R basado en la máquina virtual de Java. Para ello, esencialmente, lo que se necesita es traducir (es decir, reescribir) todas las llamadas que hace R a su intérprete actual a equivalentes en Java.

¿Qué ventajas ofrecería este nuevo intérprete de R? Varias. Las más importante, a mi parecer, sería que R heredaría automáticamente todas las mejoras de eficiencia que la comunidad de desarrolladores de máquinas virtuales para Java, que tiene muchos más órdenes de magnitud de número de neuronas que la de R.

Por otra parte, parece que sería también posible utilizar métodos de almacenamiento distintos de la memoria del ordenador para guardar objetos de R, con lo que se mitigarían parte de los problemas actualmente asociados a las limitaciones de memoria.

Los expertos en R y Java que tengan tiempo y ganas de aprender pueden (y están invitados a) colaborar en el desarrollo de esta plataforma de la que, seguro, oiremos hablar mucho en el futuro próximo.