Saltar al contenido principal

Introducción al lenguaje de programación JARU

JARUDinámicoIoTESP32

JARU es un lenguaje de programación de tipado dinámico diseñado para ofrecer control total del stack: el lenguaje, la máquina virtual y las herramientas que lo rodean.

Se ejecuta sobre una VM propia, compacta y eficiente, creada para ser predecible, extensible y fácil de integrar, tanto en sistemas de escritorio como en entornos con recursos limitados como microcontroladores ESP32 o ESP32-P4 (RISC-V).

JARU prioriza una sintaxis clara y legible, con estructuras explícitas y sin dependencias innecesarias, lo que facilita la lectura, el mantenimiento y la depuración del código incluso en sistemas complejos.

Más que un lenguaje aislado, JARU está pensado como la base de un ecosistema completo, donde el runtime, el depurador y el IDE comparten una visión común, permitiendo un nivel de control y coherencia difícil de alcanzar con lenguajes generalistas tradicionales.

Vista introductoria de JARU con el IDE, el lenguaje y el flujo de desarrollo para ESP32

Productividad

La VM incluye garbage collector y librerías estándar para acelerar el desarrollo: Math, String, Display, System, GPIO, WiFi, MQTT etc.

Características principales

  • Tipos dinámicos — no necesitas declarar el tipo antes de asignar un valor.
  • Sintaxis limpia — menos ruido, más intención.
  • GC integrado — gestión automática de memoria.
  • Multiplataforma — desarrolla en Windows y despliega en ESP32, ESP32-S3 y ESP32-P4.
  • Librería estándar para IoT — módulos listos para hardware común.

Punto y coma (;)

El punto y coma al final de una instrucción es opcional. Úsalo para separar sentencias cuando escribes varias en la misma línea.

semicolon.aru
print("Hola"); print("mundo");
println("!")

Comentarios

  • Una línea: // ...
  • Varias líneas: /* ... */
comments.aru
// Esto es un comentario de una línea

/*
Esto es un
comentario multilínea
*/

Identación

Usa espacios o tabs (elige uno y sé consistente). Recomendado: 2 espacios.

Identificadores

Los identificadores nombran variables, funciones, clases, objetos, propiedades y métodos.
Deben empezar por letra o _, y no ser palabras reservadas. JARU distingue mayúsculas/minúsculas.

VálidosInválidosMotivo
nombre_persona1numberNo puede iniciar por número
_preciomi identificadorEspacios no permitidos
miClaseclassPalabra reservada
VAR_1#valorSímbolo no alfanumérico

¡Hola Mundo! (y algo más)

hello.aru
print("Hello World!");

// print no añade salto de línea; println sí
print("Hello"); print(", ");
println("World");

  • print() no añade salto de línea.
  • println() añade salto de línea.
print-vs-println.aru
print("Hello"); print(", "); println("World");

¿Te resultó útil esta página? Continúa con Tipos de datos y Variables y constantes.