sábado, 14 de diciembre de 2024

Concurnas: un lenguaje de programación JVM

Anteriormente hablamos sobre este lenguaje de programación dependiente de la JVM.

Concurnas es:

"Un lenguaje de programación diseñado para construir sistemas concurrentes, distribuidos y paralelos, confiables, escalables y de alto rendimiento".

Es un lenguaje que se inspira en la sintaxis de Python, por lo que crear un programa en este no será como Java.

Además esta enfocado en la concurrencia, y no secuencial como en los demás lenguajes.

Si quieres saber más, puedes dar un vistazo a un artículo sobre este lenguaje:

https://blogs.oracle.com/javamagazine/post/concurrent-programming-with-concurnas

Programando en Concurnas

Antes de comenzar a hacer tus programas deberás:

  1. Tener instalado el JDK 8.
  2. Tener la configurada la variable de entorno (JAVA_HOME).
  3. Haber instalado Concurnas.

Nota: En versiones superiores al JDK 8 habrá errores.

Recordemos como compilar y ejecutar un programa en este lenguaje:

# Compilar:
concc Programa.conc

# Ejecutar:
conc Programa

Ejemplo 1. El clásico "Hola, mundo".

HolaMundo.conc

System.out.println("Hola, mundo!!")

Compilamos y ejecutamos:

$ concc HolaMundo.conc
$ conc HolaMundo

Ejemplo 2. Crear un programa que muestre los datos de un empleado. Los datos comprenderán: clave de empleado, nombre, edad, fecha de nacimiento, dirección y si estado civil.

Datos.conc

claveEmp String = "345632"
nombre String = "Thomas Muller"
edad int = 18
fecha_nacimiento="23/05/1988"
edo_civil = "Soltero"
direccion= "MonteCarlo no. 45, Barrio Altavista, Toluca."

System.out.println("Clave empleado: "+claveEmp)
System.out.println("Nombre: "+nombre)
System.out.println("Edad: "+edad)
System.out.println("Fecha de nacimiento: "+fecha_nacimiento)
System.out.println("Edo. civil: "+edo_civil)
System.out.println("Dirección: "+direccion)

Como se podrá ver. Hemos definido variables indicado su tipo y en otras se omitió esa indicación. Esta es una de las peculiaridades del lenguaje.

Compilamos y ejecutamos:

$ concc Datos.conc
$ conc Datos

Ejemplo 3. Crear un programa que resuelva operaciones aritméticas básicas: suma, resta, multiplicación y división.

Basicas.conc

/** Definimos las varibles**/
a int = 9
b int = 4
suma int = a + b
resta = a - b
producto int = a * b
division int = a/b

/** Mostramos el resultado en pantalla **/
System.out.println("\t [ Operaciones aritméticas básicas ]");
System.out.printf("Suma de %d + %d da : %d\n",a,b,suma);
System.out.printf("Resta de %d - %d da : %d\n",a,b,resta);
System.out.printf("Producto de %d + %d da : %d\n",a,b,producto);
System.out.printf("División de %d + %d da : %d\n",a,b,division);

Compilamos y ejecutamos:

$ concc Basicas.conc
$ conc Basicas

Ejemplo 4. Crear una clase denominada "Punto" con dos propiedades tipo int, x & y. Mostrar el valor de sus propiedades.

Punto.conc

/** Creamos la clase Punto **/
class Punto{
   public x int
   public y int
   
   this(x int, y int){
      this.x = x
      this.y = y
   }
   
}
/** Instanciamos la clase  Punto **/
var punto = new Punto(4,5);

/** Mostramos el valor de sus propiedades  **/
System.out.println("x: "+punto.x);
System.out.println("y: "+punto.y);

Compilamos y ejecutamos:

$ concc Punto.conc
$ conc Punto

¡Hemos creado nuestros primeros programas en Concurnas!

Continuaremos con el tema en próximas entregas.

Enlaces:

https://codemonkeyjunior.blogspot.com/2020/08/un-lenguaje-de-programacion-lamado.html
https://concurnas.com/
https://blogs.oracle.com/javamagazine/post/concurrent-programming-with-concurnas
https://www.reddit.com/r/ProgrammingLanguages/comments/e8a42b/new_programming_language_concurnas/?rdt=41743
https://devm.io/java/introducing-new-jvm-lanaguage-concurnas-167915

No hay comentarios:

Publicar un comentario