Saltar al contenido

¿Cuáles son las similitudes y diferencias esenciales entre Scala y Gosu (relacionadas con Java)?

Es imprescindible comprender el código de forma correcta antes de adaptarlo a tu trabajo si tdeseas aportar algo puedes comentarlo.

Solución:

Sí, nuestra tabla de comparación de idiomas es en gran parte una broma. Especialmente la fila “No Lisp”. 🙂

Como señaló Stephen C en mi publicación original, en general, Gosu es más simple que Scala, mientras que Scala tiene características más avanzadas que Gosu.

Scala y Gosu tienen muchas similitudes:

  • Ambos se escriben estáticamente, pero usan la inferencia de tipos para reducir el exceso de código

  • Ambos admiten cierres y programación de estilo más funcional

  • Ambos proporcionan funcionalidad adicional además de las bibliotecas Java existentes, especialmente en torno a las colecciones.

Y aquí hay algunas diferencias:

  • Gosu no admite la sobrecarga del operador general

  • Gosu no proporciona soporte sintáctico para Monads

  • Los genéricos en Gosu son mas simple que en Java (a costa de la corrección) donde son más (o al menos tan) complicados en Scala (aunque Scala hace un trabajo mucho mejor con la corrección).

  • Gosu no admite cosas como el argumento ‘_’ implícito de Scala en los cierres: es más explícito en casos como este.

  • Las extensiones de Gosu a las bibliotecas centrales de Java son menos dramáticas. Soldamos métodos adicionales en tipos de Java existentes, en lugar de introducir una nueva jerarquía de tipos.

Hay uno grande diferencia entre Gosu y Scala en el lado de la funcionalidad: Gosu tiene lo que llamamos un sistema de tipo abierto. Esto permite a las personas conectar recursos arbitrarios al compilador de Gosu. Como ejemplo: Gosu (a partir de 0.8.5) admite archivos XSD y WSDL como ciudadanos de primera clase:

http://lazygosu.org/xml.html

El Open Type System es, en el lado de la funcionalidad, el diferenciador real entre Gosu y otros lenguajes JVM de tipado estático.

Dicho todo esto, la desafortunada realidad en este momento es que Scala es mucho más maduro que Gosu en algunas áreas, especialmente en herramientas. Existe un gran soporte de IDE para Scala en todos los IDE principales. Tenemos un complemento de Eclipse para Gosu, pero aún está en pañales. De manera similar, nuestro complemento IntelliJ es muy nuevo.

Scala tiene un marco web muy completo, Lift. No soy un gran admirador de su enfoque, pero es completo y a mucha gente le gusta.

Gosu también tiene un marco web:

http://ronin-web.org

Me encanta el enfoque de Ronin, pero entonces lo haría, ¿no? Ronin está siendo construido por tipos que conocen muy bien a Gosu y, por lo tanto, aprovecha mucha funcionalidad en el lenguaje.

Espero que ayude. Siendo realistas, si estuviera comenzando un proyecto hoy, probablemente iría con Scala solo por el soporte de la herramienta. Sin embargo, si desea ir en otra dirección, particularmente si su proyecto involucra servicios web o manejo de XSD, Gosu podría ser un lenguaje gratificante de usar. A largo plazo, espero que Gosu sea la opción pragmática para los desarrolladores de JVM, pero solo el tiempo lo dirá.

La tabla de comparación de Gosu es algo injusta para Scala: la transición de Java es fácil (tu no tener usar todas las cosas elegantes de Scala al principio), y para los genéricos reificados, Scala no tiene una solución perfecta, pero viable, llamada Manifiestos. Por supuesto, faltan categorías en las que Scala brilla (coincidencia de patrones, tipos de kinded superiores …)

En este hilo de la lista gosu-lang, Carson Gross lo resumió de la siguiente manera:

La respuesta corta es que Gosu es más simple que Scala (genéricos más simples, sobrecarga de operadores limitada) pero un poco más firme de escritura estática que, digamos, Groovy.

También está esta tabla, pero es una de esas comparaciones de “nuestro producto es mejor que su producto”; es decir, intrínsecamente sesgado.

Aquí tienes las comentarios y valoraciones

Si posees alguna duda o forma de medrar nuestro reseña te inspiramos ejecutar una reseña y con mucho gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *