Translate

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

martes, 9 de septiembre de 2025

Introducción a Borgo Programming Language


Ya hablamos de Borgo y en este post vamos a recorrer paso a paso cómo empezar a trabajar con él, desde la instalación hasta la ejecución de un programa sencillo. 

Actualmente, Borgo está disponible como un compilador ligero que se distribuye en GitHub. Para instalarlo:


# Clonar el repositorio oficial

git clone https://github.com/borgo-lang/borgo.git

cd borgo

# Compilar el compilador

make

# Instalar en tu sistema (requiere permisos de administrador)

sudo make install


Una vez instalado, podés comprobar la versión con:

borgoc --version


Un proyecto en Borgo no necesita estructura compleja. Podés empezar creando una carpeta y un archivo de código fuente:


mkdir mi_proyecto

cd mi_proyecto

touch main.borgo


El clásico primer ejemplo. En Borgo, un "Hola Mundo" se vería así:


fn main() {

    print("Hola, mundo!")

}


Para compilar tu programa:

borgoc main.borgo -o main


Esto genera un ejecutable llamado main. Para ejecutarlo:


./main


Y deberías ver:

Hola, mundo!


Podemos sumar dos números y mostrar el resultado:


fn suma(a: Int, b: Int): Int {

    return a + b

}


fn main() {

    let resultado = suma(3, 4)

    print("El resultado es: ", resultado)

}


Compilás y ejecutás de la misma manera:


borgoc main.borgo -o main

./main


Salida:

El resultado es: 7


Borgo es un lenguaje minimalista pero potente, con una curva de aprendizaje muy baja. Lo interesante es que te permite escribir y compilar programas rápidamente, sin demasiada configuración.

martes, 22 de octubre de 2024

Borgo, lenguaje de programación que compila a Go.


Borgo es un lenguaje de programación relativamente nuevo que está diseñado para ser versátil y eficiente en varios entornos de desarrollo. Aunque aún está en sus primeras etapas, promete ofrecer un equilibrio entre alto rendimiento y facilidad de uso, haciendo énfasis en la simplicidad y la expresividad del código.

  1. Simplicidad y Legibilidad: Uno de los pilares de Borgo es la simplicidad en su sintaxis. Se enfoca en evitar la verbosidad innecesaria, permitiendo que los desarrolladores escriban código más limpio y comprensible.
  2. Eficiencia y Rendimiento: Borgo está optimizado para ejecutar código de manera eficiente, lo que lo hace ideal para aplicaciones de alto rendimiento. Su compilador se enfoca en generar binarios pequeños y rápidos.
  3. Soporte para Programación Funcional y Orientada a Objetos: Al igual que lenguajes como Scala y Kotlin, Borgo combina paradigmas funcionales y orientados a objetos, lo que permite a los desarrolladores elegir el enfoque más adecuado para su proyecto.
  4. Concurrencia Nativa: Al ser un lenguaje moderno, Borgo incluye soporte para concurrencia y paralelismo de manera nativa, facilitando la creación de aplicaciones altamente escalables sin tener que recurrir a bibliotecas externas.
  5. Ecosistema Modular: Borgo apuesta por un ecosistema modular, donde los desarrolladores pueden añadir funcionalidad mediante paquetes externos, similar a lo que ofrecen lenguajes como Python con `pip` o Node.js con `npm`.

Relindas las características pero veamos un poco de código: 


use fmt

enum NetworkState<T> {

    Loading,

    Failed(int),

    Success(T),

}


struct Response {

    title: string,

    duration: int,

}


fn main() {

    let res = Response {

        title: "Hello world",

        duration: 0,

    }


    let state = NetworkState.Success(res)


    let msg = match state {

        NetworkState.Loading => "still loading",

        NetworkState.Failed(code) => fmt.Sprintf("Got error code: %d", code),

        NetworkState.Success(res) => res.title,

    }


    fmt.Println(msg)

}


Como ven, es como que go y rust hubieran tenido un hijo... 

Borgo es un lenguaje emergente con mucho potencial, diseñado para combinar simplicidad con eficiencia. Aunque aún no es ampliamente adoptado, sus características prometen hacer que valga la pena seguirlo de cerca, especialmente para aquellos desarrolladores que buscan una alternativa moderna a lenguajes tradicionales. 

Dejo link: https://borgo-lang.github.io/