Concurnas es un lenguaje de programación JVM de código abierto diseñado
para construir sistemas concurrentes, distribuidos y paralelos
confiables, escalables y de alto rendimiento. A primera vista es muy parecido a Groovy.
La extensión de un programa en Concurnas es *.conc
Instalación
Compilar:
Ejecutar:
El Hello, world y otros programas usando Concurnas:
hello_world.conc
System.out.println("Hola, mundo en Concurnas!!")
clases.conc
class X{
def hola(){
System.out.println("Hola desde clase X")
}
}
class Y{
def hola(){
System.out.println("Hola desde clase Y")
}
}
def main(args String[]){
new X().hola()
new Y().hola()
}
mayor.conc
def main(args String[]){
x int = 4
y int = 2
System.out.println("x: "+x)
System.out.println("y: "+y)
if(x > y){
System.out.printf("%d > %d \n",x,y)
}
}
cuenta.conc
def main(args String[]){
cuenta()
}
def cuenta(){
suma int = 0
nombre String = "Polinar Sanchez Umberto"
palabras String[] = nombre.split(" ")
System.out.println(nombre)
System.out.println("Cant. de palabras: "+palabras.length)
for(cad in palabras){
System.out.println(cad+" : "+cad.length())
suma = suma + cad.length()
}
System.out.println("Cant. de letras: "+suma)
}
operaciones.conc
class X{
def hacer(args String[]){
System.err.println("Argumentos: "+args)
}
def getLongitud(a String?)=> a?.length()?:'ups'
}
def main(args String[]){
System.out.println("Hola, mundo en Concurnas!!")
new X().hacer(args)
System.out.println(new X().getLongitud(null))//ups
System.out.println(new X().getLongitud("null"))//4
System.out.println("\t***Tipos***")
entero int
entero = 453
System.out.println("Entero: "+entero)
System.out.printf("Entero: %d\n",entero)
cadena String
cadena = "Este es un buen dia para comenzar."
System.out.printf("Cadena: %s\n",cadena)
verdadero Boolean
verdadero = true
if(verdadero){
System.out.println(new X().getLongitud("Juan Jacobo Rosseau"))
}
testA()
caracter char
caracter ='\u1234'
System.out.println("Caracter: "+caracter)
class MyClase
objClase MyClase
objClase = new MyClase()
if(objClase == null){
System.out.println("El objeto es nulo")
}else{
System.out.println("El objeto no es nulo")
}
testB()
testC()
}
def testA(){
System.out.println("Este es un metodo")
}
def testB(){
a int = 32
b int = 21
c int = 11
mayor int = a
System.out.printf("a:%d, b:%d, c:%d\n",a,b,c);
if(mayor < b){
mayor = b
}
if(mayor < c){
mayor = c
}
System.out.println("El mayor es: "+mayor);
}
def testC(){
System.out.println(mayuscula())
System.out.println("Suma: "+suma(12,4))
System.out.println("Decimo: "+decimo())
System.out.println("Centesimo: "+centesimo())
System.out.println("Milesimo: "+milesimo())
//Esto no compilara:
//cadena String=null
cadena String="null"
try{
cadena = cadena.toUpperCase()
}catch(npe NullPointerException){
System.err.println("Ha ocurrido un NullPointerException!!")
}catch(ex Exception){
System.err.println("Ha ocurrido una excepcion: "+ex.toString())
ex.printStackTrace()
}
if(verdadero()){
System.out.println("Suma: "+suma(-32,54))
}
falsoFalso Boolean = falso()
if( not falsoFalso){
System.out.println("Hola, mundo desde Concurnas!!!")
}
}
def mayuscula(){
"mayuscula".toUpperCase()
}
def suma(a int, b int){
a+b
}
def decimo(){
1.0/10.0
}
def centesimo(){
1.0/100.0
}
def milesimo(){
1.0/1000.0
}
def verdadero()=> true
def falso()=> false
Como se puede observar es muy similar a Java y/o Groovy. En próximos post seguiremos hablando de este lenguaje.
Sitio oficial:
https://concurnas.com