Mostrando entradas con la etiqueta haxe. Mostrar todas las entradas
Mostrando entradas con la etiqueta haxe. Mostrar todas las entradas

domingo, 12 de mayo de 2024

Haxe

Haxe es un lenguaje de programación de código abierto de alto nivel de tipo estricto con un compilador cruzado de optimización rápida.

El sitio oficial de este lenguaje menciona que es usado para crear APIs, video juegos, aplicaciones web y de escritorio.

Instalación de Haxe en Linux (Ubuntu)

sudo add-apt-repository ppa:haxe/releases -y
sudo apt-get update
sudo apt-get install haxe -y
mkdir ~/haxelib && haxelib setup ~/haxelib

La extensión de un programa en Haxe es *.hx.

Main.hx

class Main{
   static public function main(): Void{
      trace("Hola mundo en Haxe!!!");
   }
}

Para compilar y ejecutar abrimos una terminal

haxe --main Main --interp

Tipos de datos:

var entero:Int=11;
var cadena:String="Helmut Gerrsand";
var falso:Bool= 45 > 21;
var flotante:Float=3.4;

Funciones:

class Main{
   static public function main(): Void{
   testA();
  }

   static public function testA(): Void{
    trace("Hola, mundo en Haxe!!");
   }

}

Enlaces:

https://haxe.org/

sábado, 12 de junio de 2021

Ballerina en ejemplos

Ballerina es un lenguaje de programación de código abierto para la nube que facilita el uso, la combinación y la creación de servicios de red. A primera vista recuerda a lenguajes como Java y o Typescript. Ballerinta maneja tipos básicos como in, float, string, boolean, etc. La síntaxis de estructuras de control secuencial e iterativa son similares a Java. La extensión de un programa es *.bal
En post anteriores hemos hablado sobre Docker. En este post usaremos una imagen de Ballerina y la descargaremos con Docker.
$ docker pull ballerina/ballerina
$ docker images

Para compilar y ejecutar un programa escribimos este script bash:
ejecuta.sh
#!/bin/bash

# Mostramos el nombre del programa a compilar y ejecutar
echo "Ejecutamos $1"
docker run -v `pwd`:/home/ballerina -it ballerina/ballerina:1.0.2 ballerina build $1
docker run -v `pwd`:/home/ballerina -it ballerina/ballerina:1.0.2 ballerina run $1
Para usar el script es necesario darle permiso de ejecución y pasar el nombre del programa como argumento de entrada:
$ sudo chmod +x ejecuta.sh
$ ./ejecuta.sh programa.bal

Comencemos con algunos ejemplos.

Ejemplo. El clásico programa de "Hola, mundo".
holamundo.bal
import ballerina/io;

public function main(string... args) {
    io:println("Hola en Ballerina!!");
 
}
Compilamos y ejecutamos:
$ ./ejecuta.sh holamundo.bal
Ejemplo. Obtener el mayor de tres número enteros.
mayor_tres_numeros.bal
import ballerina/io;

public function main(string... args) {
	int a = 4;
	int b = -32;
	int c = 1;
	int mayor = a; 
        io:println("Numeros:\na:",a,",b:",b,",c:",c);
	if(mayor < b){
	  mayor = b;
	}
	if(mayor < c){
	  mayor = c;
	}
	io:println("mayor:",mayor);
}
    

Compilamos y ejecutamos:
$ ./ejecuta.sh mayor_tres_numeros.bal

Ejemplo. Crear dos funciones, una para sumar y otra para multiplicar dos números enteros.
funciones.bal
import ballerina/io;

public function sumar(int a, int b) returns int {
    return a + b;
}

public function multiplicar(int a, int b) returns int {
    return a * b;
}

public function main(string... args) {
        int a=7;
	int b=5;
	io:println("Suma de 5 y 7 es: ",sumar(a,b));
	io:println("Producto de 5 y 7 es: ",multiplicar(a,b));   
}

Compilamos y ejecutamos:
$ ./ejecuta.sh funciones.bal

¿Qué podemos analizar con estos ejemplos?
io:println("Hola en Ballerina!!");
Con esta instrucción imprimimos a pantalla.
int entero = 34;
io:println("Entero: ",entero);

Las instrucciones deben terminar con ;
Además se debe respetar el tipo de dato (esto no es Javasript u otro lenguaje de tipado dinámico).  Las funciones pueden o no devolver valores, si devuelven deben llevar la palabra returns en la cabecera indicando el tipo a devolver y return para devolver el valor calculado.
 

Ejemplo. Crear un programa que haga uso de sentencias iterativas con for y while.
bucles.bal

import ballerina/io;

public function main(string... args) {
        io:println("Elemento 0: ",numeros[0]);//1
	io:println("Elemento 5: ",numeros[5]);//6
        io:println("Tamaño: ",numeros.length());//8
	foreach var num in numeros{
		io:println("Elemento: ",num);
	}
	io:println("======================================");
	foreach var i in 0...9 {
        io:println("Numero: ",i);    
    }  
	io:println("======================================");
	int cont=0;
	while (cont < 10) {
        io:println("Cont: ",cont);
        cont = cont + 1;
    }

}

Compilamos y ejecutamos:
$ ./ejecuta bucles.bal

Como se puede ver la síntaxis es casi idéntica a la de Java y/o C#. Para quienes tienen cierta experiencia programando en lenguajes similares se les facilitará aprenderlo.
En próximos post veremos más ejemplos.
Enlaces:
https://alquimistadecodigo.blogspot.com/2020/09/docker-instalando-ballerina.html
https://ballerina.io/

sábado, 13 de abril de 2019

Lenguajes que deberíamos aprender


No todo en la vida es C, C++, C#, Java o Python. Existen también otros lenguajes que deberíamos aprender. Por ejemplo, lenguajes como Rust, Crystal, Haxe, Elixir y/o Go pueden sorprender a más de uno. Crear servicior REST en cuestión de sólo unos minutos comparado con lenguajes como Java, PHP y/o C#.

Definir clases:
#Clase en Ruby
class Modelo
  #
end

#Clase en Python
class Modelo:
  pass

#Clase en Crystal, noten lo parecido a Ruby
class Modelo

end

Instancias:

#Ruby
modeloRuby = Modelo.new 

#Python
modeloPython = Modelo()

#Crystal
modeloCrystal = Modelo.new

Links:
https://crystal-lang.org/

¿Qué lenguaje de programación debes aprender en un mundo con IA?

Las herramientas de IA están matando, literalmente, a la programación. Cualquiera con un Github Copilot, DeepSeek, Chat GPT, etc. pu...

Etiquetas

Archivo del blog