Ir al contenido principal

Lenguajes dependientes de la JVM (2da parte)

 

Java sigue siendo el lenguaje más popular y usado en la actualidad. Con el advenimiento de nuevos lenguajes de programación la elección a un verdadero sucesor se vuelve más compleja. Lenguajes como Ceylon, Scala y Kotlin han tenido el honor de ser considerados sus dignos sucesores. Sin embargo, realmente muy pocos dejan de considerar a Java como un lenguaje lejano y olvidable. Dejar proyectos hechos en este lenguaje ¡ni hablar!

¡Java sigue siendo el rey!

Lenguajes como Jabaco (imagen de abajo), Jython y JRuby son difíciles de aceptar como lenguajes sucesores o meramente usables en proyectos reales.

Otros, como Concurnas prometen mucho, pero Ceylon en su momento hizo lo mismo. Al final, los desarrolladores originales dejaron el proyecto a la fundación Eclipse. Triste historia.

public static class Holder<X>{
    private java.util.ArrayList<X> li = new  java.util.ArrayList<X>();

    public void add(X x) {
        li.add(x);
    }
}

Holder<Integer> hh = new Holder<Integer>();
hh.add(12);
hh.add(33);

Arriba, un ejemplo de código hecho con Concurnas.

Y la lista aumenta con lenguajes como Xtend, Gosu, Yeti, Frege, Golo y Fantom.

HolaMundo.fan

class HolaMundo{
  static Void main(){
    echo("Hola mundo en Fantom!!!")
  }
}

Este es un ejemplo de clase en el lenguaje de programación Fantom. Ver más aquí: https://fantom.org/doc/docIntro/HelloWorld

Java es y será un lenguaje demasiado importante como para dejarlo de usar.

Enlaces:

https://concurnas.com/
https://www.jabaco.org
https://gosu-lang.github.io/
https://www.jruby.org/
https://www.jython.org/
https://clojure.org/
http://mth.github.io/yeti/
https://github.com/Frege/frege
https://github.com/eclipse-archived/golo-lang
https://fantom-lang.org/
https://fantom.org/
https://www.eclipse.org/xtend/

Comentarios

Entradas populares de este blog

Java Tip 28: hilos virtuales en Java

Con Java 21 entra un nuevo concepto: hilos virtuales java ( Java Virtual Threads ).  La cual es una nueva característica que nos permite crear miles o millones de hilos (tareas en paralelo). Los cuales se diferencian de los hilos comunes ( Platform Threads ) al no depender del sistema operativo , puesto que son virtuales. De estos se encargará la JVM. Al usar hilos virtuales ahorramos recursos del procesador y de memoria del sistema , sin importar si estamos creando y/o usando miles o millones. Los hilos virtuales son ideales para aplicaciones modernas donde se requiere esperar y recibir respuestas o acceder a bases de datos remotas, entre otras cosas. Además no impide usar los hilos comunes que dependen del sistema operativo. Observemos un ejemplo de uso de hilos virtuales. VirtualThreadsDemo.java package com.comunidad.demo; public class VirtualThreadsDemo { public static void main (String [] args) throws InterruptedException { // Crear un Virtual Th...

Java Tip 1: Importaciones por default

Tip 1 : Todas las clases del paquete java.lang se importan por defecto. Podríamos hacer algo como esto: import java.lang.System ; import java.lang.String ; import java.lang.Boolean ; import java.lang.Integer ; import java.lang.Short ; import java.lang.StringBuilder ; import java.lang.StringBuffer ; O cosas (aberrantes) como: //Traernos todas las clases del paquete java.lang import java.lang.* ; Sin embargo, no es necesario. Repitamos esto como un mantra: Todas las clases del paquete  java.lang  se importan por defecto, no es necesario escribir de más .

Java Tip 30: Date & Time API

Quien lleva tiempo programando en Java sabrá que el formateo de fechas es un verdadero dolor de cabeza. Afortunadamente desde la versión 8 Java posee una nuevo Date y Time API que permite ahorrarnos algunos bloques de código engorrosos y tediosos. ¿Qué veremos? Nos enfocaremos en estas clases del paquete `` java.time ``: Instant: para un punto en el tiempo, un instante (antes se usaba System.currentTimeMillis() ). LocalDate: para obtener la fecha del sistema. LocalTime: para obtener la hora del sistema LocalDateTime: para obtener fecha y hora del sistema. ZonedDateTime: para obtener fecha y hora del sistema por zona horaria. TestTimeAPI.java import java.time.LocalTime ; import java.time.LocalDate ; import java.time.LocalDateTime ; public class TestTimeAPI { public static void main (String [] args){ System. out . println ( "\t Nueva API Time de Java." ); LocalTime horaActual = LocalTime. now (); L...