Ir al contenido principal

Odin language: el lenguaje de programación orientado a datos para un desarrollo de software sensato

En esta serie sobre lenguajes de programación hablamos de Odin, un lenguaje orientado a datos. Un nuevo lenguaje de programación que nos podrá recordar a lenguajes como C++, Python, Golang o hasta Rust.

Instalación (Windows):

1
2
3
4
$ git clone https://github.com/odin-lang/Odin
$ cd Odin
$ git pull
$ build.bat release

Debemos asegurarnos de crear la variable de entorno:

Nombre: ODIN_HOME

Valor: C:\Users\HP\Documents\pruebasOdin\Odin

Ejemplo 1. Como primer programa tendremos al clásico "Hola, mundo".

holamundo.odin

package holamundo

import "core:fmt"

main :: proc() {
    fmt.println("¡Hola, mundo desde Odin!")
}

Construimos:

$ odin build holamundo.odin -file

Ejecutamos:

$ holamundo.exe

Recordar que si usamos Visual Studio Code podemos instalar el plugin de Odin Language:

https://marketplace.visualstudio.com/items?itemName=DanielGavin.ols

Ejemplo 2. Programa que muestre las variables que podemos usar en Odin Lang. Como se declarar y asignan valores.

variables.odin

package variables

import "core:fmt"

main:: proc(){
    CONSTANT_NUMBER :: 12
    DECIMAL_NUMBER :: 6.43

    fmt.println("\t[ Variables y tipos de datos en Odin Lang]");
    num_integer: int = 23;
    fmt.println("No. entero: ", num_integer);
    otro_num_integer:= 43;
    fmt.println("Otro no. entero: ", otro_num_integer);
    otro_num_integer = 21;
    fmt.println("Otro no. entero: ", otro_num_integer);
    float_number:f32 = 5.4;
    fmt.println("No. flotante: ", float_number);
    float_number = 0.433;
    fmt.println("No. flotante: ", float_number);
    fmt.println("Constante entera: ", CONSTANT_NUMBER);
    fmt.println("Constante decimal: ", DECIMAL_NUMBER);
    isCorrect: bool = true;
    fmt.println("Booleano: ", isCorrect);
    some_variable := 'A';
    fmt.println("Rune: ", some_variable);
    // cadena: string = "FERROCARRIL"
    cadena := "FERROCARRIL";
    fmt.println("String: ", cadena);
}

Construimos:

$ odin build variables.odin -file

Ejecutamos:

$ variables.exe

En Odin Lang tenemos los tipos:

  • Enteros: int, i8, i16, i32, i64, i128.
  • Enteros sin signo: uint, u8,u16,u32,u64,u128.
  • Flotantes: f16,f32,f64.
  • Booleanos: bool,b16,b32,b64.
  • Cadena de caracteres: string.
  • Rune: rune

La declaración de constantes es sencilla:

El nombre debe ir en mayúsculas seguido un doble :: y el valor. 

Ejemplo 3. Crear un programa que calcule el sueldo final de un empleado. Se dará un aumento del 15% si el sueldo base es menor a 30000 y mayor o igual 22000.

Las variables serán:

  • salario_base, el salario inicial. 
  • salario_final, el salario obtenido si cumple la condición. 
  • aumento, para obtener el aumento.

aumento.odin

package aumento

import "core:fmt"

// Función para obtener el sueldo calculado
sueldo_calculado :: proc(s: f32) -> f32{
    return s + (s*0.15);
}


main :: proc(){
    sueldo_base:f32 = 25000.0;
    sueldo_final:f32 = sueldo_base;

    if sueldo_base < 30000.0 && sueldo_base >= 22000.0{
        sueldo_final = sueldo_calculado(sueldo_base);
    }

    fmt.printfln("Sueldo base: $%.1f", sueldo_base);
    aumento:f32 = sueldo_final-sueldo_base;
    fmt.printfln("Sueldo final: $%.1f", sueldo_final);
    fmt.printfln("El aumento fue de: $%.1f", aumento);

}

Como se puede ver, tenemos una función que obtiene el sueldo calculado:

// Función para obtener el sueldo calculado
sueldo_calculado :: proc(s: f32) -> f32{
    return s + (s*0.15);
}

Construimos:

$ odin build aumento.odin -file

Ejecutamos:

$ aumento.exe

Continuaremos con esta serie sobre lenguajes de cprogramación como Odin Lang en próximas entregas.

Enlaces:

https://odin-lang.org/
https://github.com/odin-lang/Odin
https://odin-lang.org/docs/install/
https://alquimistadecodigo.blogspot.com/2024/12/odin-programming-language-un-lenguaje.html
https://odinbook.com/

Comentarios