Pregunta

¿Qué Mirah oferta lingüística sobre JRuby, Groovy y Scala?

¿Fue útil?

Solución

De acuerdo con una entrevista con el creador de Mirah el punto de Mirah (que significa "rubí" en Java) es crear una variante de alto rendimiento de ruby. Suficiente Rubí-sintaxis similar para que sea cómodo para trabajar, pero aún lo suficientemente cerca de Java JVM y la semántica de modo que pueda funcionar sin el añadido de una capa de ejecución grande en la parte superior de la JVM.

Elección cita:

  

La mayor parte del beneficio de Mirah sobre lenguajes similares se reduce a ser tan ligero. En Groovy, Scala, JRuby, Clojure, o Jython, el momento en que escribe "Hola, mundo", usted se ha encadenado a una biblioteca de tiempo de ejecución. En Mirah, "Hola, mundo" es tan escueto como en JRuby, pero tiene la ventaja añadida de no endosar cualquier dependencia sobre usted; archivo de origen entra, archivo de clase que sale, y eso es todo. Creo que la JVM necesita un nuevo lenguaje libre de la dependencia, y Mirah es mi intento de ofrecer una.

     

Mientras que los rivales de rendimiento de JRuby o supera otros intérpretes de Ruby, el código JRuby más rápido aún está rendimiento de Java pura en un orden de magnitud. Si bien se puede esperar que el rendimiento de JRuby a mejorar con el lanzamiento 1.6, Mirah es un intento de romper el techo de rendimiento y proporcionar una opción para los programadores que buscan velocidades de ejecución a la par con el código Java.

Otros consejos

A diferencia de idiomas completamente equipado, que vienen con sus propias bibliotecas, Mirrah es más como un "frontend" diferente a las bibliotecas de Java.

Código Mirrah no depende de su propio entorno (excepto el compilador Mirrah en tiempo de compilación).

Esa es la ventaja principal:. Una sintaxis diferente para Java

vs. Maravilloso

  • Sintaxis más familiar para los programadores de Ruby / JRuby existente
  • tipos estáticos

vs. JRuby

  • tipos estáticos

vs. Scala

  • Sintaxis más familiar para los programadores de Ruby / JRuby existente

Las ventajas principales son tipos estáticos ( un rendimiento más rápido en la JVM y mucho más fácil de interoperabilidad con los actuales Java bibliotecas ) y una sintaxis familiar ( si viene de Rubí ).

Cuando dependencias son una consideración ( el desarrollo de una aplicación para Android, por ejemplo ), entonces usted no debe dejar que esta guía el idioma que desee. El uso de una herramienta como Proguard nivelará el campo de juego.

Si usted está viniendo de Rubí, a continuación, Mirah es una opción buena. Si usted está viniendo de Erlang o Haskell, entonces usted querrá Scala. Si usted es un ceceoso, entonces usted querrá echar un vistazo a Clojure.

Si su única experiencia previa es Java entonces vergüenza! - y probablemente debería ir para Scala - Está ganando rápidamente una reputación como el heredero de Java, soporte de herramientas es actualmente más fuerte y vas a estar en una gran comunidad de otros que hicieron la misma transición, por lo que hay un montón de blogs / tutoriales ya disponibles.

y maravilloso? Maravilloso casi nunca es la mejor opción hoy en día ...

Yo uso cotidiano Mirah en Google App Engine.

Aquí están mis razones para utilizar Mirah:

  • ninguna biblioteca de tiempo de ejecución
  • muy agradable sintaxis
  • tan rápido como Java

Tener Java bajo el capó es muy útil también:

  • sistema de tipos sólido
  • bien documentado
  • soluciones conocidas para los problemas comunes

He hecho un poco maravilloso, gran cantidad de JRuby y ninguno de Scala. Si conoces a estos, tratar Mirah. Si no es así, me gustaría ir con JRuby.

Mirah es sólo otra sintaxis rubyish para Java. En mi humilde opinión no es bueno en absoluto. Se sabe nada acerca de los genéricos, y también tiene mala utillaje. Mejor Ceilán intento, xtend, Scala, etc. Kotlin
Mirah compila a las clases de Java (no más fuentes). Xtend compila a las fuentes de Java y por lo más simple a descubierto lo que lo hace bajo el capó. Ceilán y Scala tienen sus propias stdlibs (java, sin embargo, la interoperabilidad es cerca de perfecto en ambos), no está seguro acerca Kotlin. Kotlin es hijo JetBrains' y por lo tanto ligada a IDEA.
JRuby no me gusta demasiado. Tiene demasiados errores en la interoperabilidad de Java. Y también tiene demasiadas ruedas reinventadas. I codificaciones de medios (que no utiliza cuerdas java y expresiones regulares sino cadenas personalizadas en la parte superior de los buffers de bytes primas), las organizaciones internacionales, manejo de excepciones, hilos, etc.
La única ventaja de jruby es que es rubí. Muchos código Ruby acaba de trabajo tal como es.
Maravilloso otoh no reinventar la rueda, que utiliza las bibliotecas de Java bien probadas y sólo añade azúcar sintaxis también ellos. También interoperabilidad groovy-java es grande. Puede genéricos. Hilos, excepciones, las cadenas, las colecciones son clases Java - tal y como son en Java.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top