Llegamos a ustedes gracias a:



Noticias

Nuevo lenguaje JVM destaca con respecto a Scala y Clojure

[17/01/2017] Otro lenguaje JVM, el dialecto Haskell Eta, ha llegado a escena, otra vez se centra en la programación funcional.

Eta, dirigida para crear sistemas escalables, es un lenguaje funcional de código fuerte. Es similar a Scala, un lenguaje JVM que también hace hincapié en la programación funcional y la escalabilidad, y Clojure, otro un lenguaje funcional en la JVM.

Pero Eta se distingue de tales competidores porque es inmutable por defecto, utiliza evaluación diferida, y cuenta con un sistema de código muy poderoso, señaló el fundador de Eta, Rahul Muttineni, CTO de TypeLead, que supervisa el lenguaje. Esta combinación permite garantías estáticas y un nivel de concisión que simplemente no es posible en Scala o Clojure.

Eta, que actualmente se encuentra en la versión 0.0.5 en una versión alfa, es interoperable con Java, y permite la reutilización de las bibliotecas de Java en proyectos de Eta y la utilización de módulos de Eta en Java. La seguridad de código fuerte permite a los desarrolladores dar al compilador más información sobre el código, mientras que la inmutabilidad en Eta mejora la concurrencia.

ETA también cuenta con pureza, en la cual llamar a una función con los mismos argumentos produce los mismos resultados siempre; las definiciones de función se tratan como ecuaciones y se pueden realizar sustituciones como en las matemáticas. Los partidarios de ETA afirman que esto hace más fácil entender el código y evita muchos errores típicos de lenguajes imperativos. "La pureza le permite tratar a su código como ecuaciones en matemáticas y hace mucho más fácil razonar sobre el código, especialmente en los entornos de concurrencia y paralelismo, afirmó Muttineni.

ETA es "relajado por defecto, lo cual significa que los datos permanecen en un estado de no evaluación hasta que una función tiene que ver dentro. Esto permite a los desarrolladores programar sin tener que preocuparse de si han hecho más cálculos de los necesarios. Los desarrolladores también pueden escribir algoritmos multipase en un solo pase. "La relajación le permite dejar de preocuparse por el orden en el que escribe sus instrucciones, afirmó Muttineni. "Simplemente especifique las dependencias de datos mediante la definición de las expresiones y sus relaciones entre sí, y el compilador las ejecutará en el orden correcto y sólo si las expresiones son necesarias.

Existen planes para poner en Eta un runtime concurrente, una REPL interactivo, metaprogramación, paralelismo masivo y concurrencia transaccional. También se encuentra en desarrollo un administrador de compilaciones Maven y una biblioteca de base, junto con la generación de modelos para las importaciones de Java Foreign Function Interface.