tutorial the sirve que programming programacion para lenguaje golang curso codigofacilito basico aprender aprende language-design fantom

language-design - sirve - the go programming



¿Primeras impresiones del lenguaje de programación Fantom? (5)

¿Alguien ha dado un giro al lenguaje de programación Fantom ? (Juego de palabras intencionado)

Mi primera impresión:

  • Me gusta la posibilidad de ejecutar el código en .NET o Java VM.
  • La sintaxis es agradable y limpia, y no prueba nada elegante.
  • Tengo la creencia de que "la biblioteca es el idioma" y los desarrolladores de Fan creen que su USP es su API :

Pero conseguir un idioma para ejecutar tanto en Java como en .NET es la parte fácil, de hecho, hay muchas soluciones para este problema. La parte difícil es obtener API portátiles. Fan proporciona un conjunto de API que resumen las API de Java y .NET. De hecho, consideramos que este es uno de los principales beneficios de Fan, ya que nos da la oportunidad de desarrollar un conjunto de API del sistema que son elegantes y fáciles de usar en comparación con los contrapartes de Java y .NET.

¿Algún otro pensamiento, primera impresión, pros y contras?


Parece muy inspirado por Ruby. Dice que es RESTful pero no veo cómo exactamente. Compare con boo , que es más maduro pero similar en muchos aspectos (sin embargo, su sintaxis está inspirada en Python).

Las decisiones de diseño para mantener genéricos y espacios de nombres muy limitados son cuestionables.


Creo que se ve como un excelente lenguaje de características, pero no estoy seguro de lo útil que es. No creo que sea tan útil para apuntar .NET y JVM. Java ya es multiplataforma, y ​​.NET también, con Mono. Al dirigirse a dos máquinas virtuales, solo debe usar las API disponibles en ambos. No puede usar ninguna de las excelentes API nativas que están disponibles para Java y .NET. No puedo imaginarme que su API esté tan completa como las Java de .NET.


Creo que su explicación lo resume así:

"La razón principal por la que creamos Fan es escribir un software que pueda ejecutarse sin problemas tanto en Java VM como en .NET CLR. La realidad es que muchas organizaciones de software están comprometidas con una u otra de estas plataformas".

No se ve mejor que todos los demás lenguajes que no sean JVM / .NET. A falta de información sobre ellos (su blog es solo una página de error), no veo ninguna razón por la que necesariamente obtendrían este derecho más que otros. Cada idioma comienza siendo bastante elegante para el conjunto de cosas para las que fue diseñado (aunque veo un poco de incomodidad en el pequeño código de Fan que acabo de ver): la verdadera pregunta es qué tan bien se adapta a cosas completamente nuevas, y simplemente no lo sé todavía

Pero si su organización tiene una regla de que "todo debe ejecutarse en nuestra VM", puede ser un compromiso aceptable para usted.

Estás perdiendo muchísimo solo por la independencia de VM. Por ejemplo, la tuya es la primera pregunta de Fan aquí en SO, un par de órdenes menos que Lisp.

¿Para qué problema es Fan la mejor solución? Python y Ruby ya pueden ejecutarse en ambas máquinas virtuales (o en ninguna de ellas), tienen grandes comunidades y grandes bibliotecas, y parecen tener el mismo nivel de abstracción, pero son mucho más maduras.


Esto es muy interesante.

Java (o C #) se creó para eliminar la dependencia de la Plataforma al crear una JVM (o CLR) que compilará el código en un código de máquina específico en tiempo de ejecución.

Ahora, ¿hay una lengua que sea independiente de la Máquina Virtual ? umm ... ¿qué demonios?!?!

Una vez más, este es un tema muy interesante, que podría ser el futuro ... :) ir a un idioma único universal


Nunca había oído hablar de Fan hasta hace un par de semanas. Desde el sitio web, tiene aproximadamente un año, por lo que todavía es bastante joven y no ha sido probado. Sin embargo, hay un par de puntos interesantes: Primero, el lenguaje aborda el problema de la concurrencia proporcionando un modelo de actor (similar a erlang) y apoyando objetos inmutables. En segundo lugar, el objeto sigue el ejemplo de Scala con inferencia de tipo. La inferencia de tipo permite al programador omitir declaraciones de tipo, pero el compilador lo calcula y proporciona la ventaja de un código corto y más limpio como en un lenguaje de tipo dinámico, al tiempo que conserva la eficiencia de un lenguaje de tipo estático. Y, por último, parece un lenguaje muy rápido, casi tan rápido como Java y realmente se acerca o supera el segundo idioma más rápido en el JM: Scala. El índice de referencia que muestra el rendimiento se puede encontrar en http://www.slideshare.net/michael.galpin/performance-comparisons-of-dynamic-languages-on-the-java-virtual-machine?type=powerpoint .