2009-04-04 7 views
6

SAP anunció Blue Ruby, una versión de Ruby que se ejecuta dentro de la máquina virtual ABAP.¿Cuál es el significado para los programadores de Ruby de la nueva implementación de SAP de Ruby?

Esto parece prestar credibilidad adicional al lenguaje Ruby, pero, a excepción de los desarrolladores de SAP, ¿esto tiene alguna aplicabilidad para el resto de la comunidad Ruby?

Me pregunto qué otro significado puede tener esto. ¿Oportunidades de trabajo adicionales, tal vez, para que los desarrolladores Ruby sean contratados para trabajar en proyectos SAP?

¿Algún otro beneficio potencial para los programadores de Ruby?

Además, algo que no tengo claro: además de MRI y JRuby, ¿cuántas implementaciones diferentes hay y por qué yo, como programador de Ruby, necesito alguna implementación excepto la MRI? Entiendo que podría necesitar JRuby si quiero integrarme con las bibliotecas de Java. ¿Hay otras veces en las que necesite buscar una implementación además de MRI o JRuby?

Me he dado cuenta de que Blue Ruby está compilado. ¿Es eso un gran beneficio y sería esta la primera versión compilada de Ruby?

Lo siento, tal vez demasiadas preguntas, pero esto se está discutiendo como un gran problema, excepto que no estoy seguro de por qué/si realmente es así. Estaría agradecido de obtener algunos comentarios de las personas que entienden Ruby (y I.T.) mejor que yo.

Respuesta

9

En realidad, hay bastantes implementaciones alternativas. La razón de tantas versiones se debe en parte a que, si bien Ruby tiene muchos admiradores, a menudo se considera que la resonancia magnética no es tan agradable como el lenguaje que aloja.

Esta es una lista de todas las otras implementaciones de Ruby que conozco:

  • MRI

  • JRuby para Java. Su ventaja de velocidad no es tan buena ahora que Ruby 1.9 está fuera, pero sigue siendo un gran jugador para su integración con Java.

  • IronRuby (aún en desarrollo) para .NET

  • MacRuby para hacer aplicaciones nativas de Mac OS X. En la actualidad, está basado en Ruby 1.9, pero lanzarán una nueva máquina virtual basada en LLVM para la próxima versión, que parece ofrecer un mayor impulso de velocidad y, con suerte, será portátil para otras plataformas de destino de LLVM.

  • MagLev (todavía en desarrollo) para aplicaciones web de alta capacidad. Probablemente será un producto comercial.

  • Rubinius es una reimplementación rectificada que se entiende como una alternativa a la MRI con una base mucho más limpia.

I duda Blue Ruby tendrá un gran impacto en el panorama general del desarrollo de software. Probablemente sea bueno para los programadores de SAP y les permita establecer una red más amplia para posibles contrataciones ya que Ruby es algo más popular que ABAP.

Todas las implementaciones actuales de Ruby están compiladas en bytecode. Contrariamente a las afirmaciones de SAP, a partir de Ruby 1.9, la propia MRI incluye un compilador de códigos de bytes, aunque la capacidad de guardar el bytecode compilado en el disco desapareció en algún punto del proceso de fusión de la máquina virtual YARV. JRuby está compilado en archivos .class de Java. No tengo muchos detalles sobre MagLev, pero parece seguro decir que tomará ese camino también.

+0

Nota: Ruby 1.9 usa YARV (http://en.wikipedia.org/wiki/YARV) (también conocido como KRI). Todavía no lo llaman resonancia magnética en 1.9, ¿o sí? –

+0

MRI + YARV todavía se conoce como "MRI" aunque Ko1 escribió la máquina virtual central. – Chuck

+0

Buena respuesta. Gracias. ¿Conoces alguna de estas otras versiones compiladas o están todas interpretadas como MRI (a excepción de Blue Ruby)? Sin embargo, parece que esto no tiene mucho uso para el desarrollador promedio de Ruby. –

3

Cada implementación tiene sus propios casos de uso. JRuby es útil por las mismas razones que Jython. IronRuby será útil en un entorno .NET, cuando existe en un estado utilizable.

Este tipo de cosas hacen que Ruby sea más aceptable en el nivel Enterprise y aceleran la difusión de Good Programming Languages.

2

Por supuesto, Blue Ruby está destinado a personas relacionadas con SAP. No creo que tenga mucho más impacto en la comunidad de Ruby porque la mayoría de los desarrolladores de Ruby no están relacionados con el desarrollo de ABAP.

El objetivo principal de Blue Ruby es incorporar un potente lenguaje de scripts al mundo ABAP, proporcionando más herramientas para los desarrolladores de ABAP.

Puede leer mi blog en Blue Ruby y obtener un emulador SE16 (Data table explorer).

https://weblogs.sdn.sap.com/pub/wlg/14222

Saludos,

Alvaro "Blag" Tejada Galindo.

Consultor Senior ABAP - SAP Mentor.

Cuestiones relacionadas