Índice

¿Qué es programar?

Una conversación con tu computadora

Cuando usas una calculadora, presionas botones y te da resultados. Programar es la misma idea, pero en vez de presionar botones uno a la vez, escribes un conjunto completo de instrucciones por adelantado. La computadora lee tus instrucciones y las sigue exactamente, una por una.

Estas instrucciones se escriben en un lenguaje de programación. Igual que los idiomas humanos (español, inglés, japonés), los lenguajes de programación tienen su propio vocabulario y gramática. Nyx es uno de estos lenguajes.

¿Qué hace especial a Nyx?

Existen cientos de lenguajes de programación en el mundo. Cada uno tiene un enfoque diferente. Nyx fue diseñado con tres principios:

Simple — La sintaxis es limpia y mínima. No hay símbolos innecesarios ni reglas complicadas. Si puedes leer español o inglés, puedes leer código Nyx.

Rápido — Nyx compila tus instrucciones en un binario nativo — un archivo que el procesador de tu computadora entiende directamente. No hay intermediarios. Esto hace que los programas en Nyx sean extremadamente rápidos, comparables a C, uno de los lenguajes más rápidos jamás creados.

Eficiente — Los programas en Nyx son diminutos. Un servidor web completo ocupa 150 kilobytes. Una base de datos completa ocupa 132 kilobytes. Para comparar, la mayoría de los programas hoy se miden en megabytes o gigabytes.

¿Cómo funciona?

Cuando escribes código en Nyx, esto es lo que sucede:

Tu código (hola.nx)
    ↓
Compilador Nyx (nyx_bootstrap)
    ↓
Instrucciones de máquina (hola.ll)
    ↓
Enlazador Clang
    ↓
Binario nativo (hola) ← tu computadora ejecuta esto directamente

Escribes un archivo de texto con instrucciones. El compilador de Nyx lee tu archivo de texto y lo traduce a instrucciones que tu procesador puede entender. El resultado es un binario — un programa independiente que se ejecuta solo, sin necesitar que Nyx ni nada más esté instalado.

Términos clave

Antes de empezar, aquí hay algunas palabras que verás a lo largo de este libro:

Programa: Un conjunto de instrucciones que una computadora sigue para hacer algo útil.

Código fuente: El archivo de texto donde escribes tus instrucciones. En Nyx, estos archivos terminan en .nx.

Compilador: Una herramienta que traduce el código fuente en un binario que la computadora puede ejecutar. El compilador de Nyx se llama nyx_bootstrap.

Binario: El resultado final — un archivo que el procesador de tu computadora puede ejecutar directamente. Cuando "compilas" un programa, estás creando un binario.

Terminal: Una interfaz basada en texto donde escribes comandos. Usarás la terminal para compilar y ejecutar tus programas en Nyx.

Bug: Un error en tu código que causa que haga algo incorrecto o inesperado. Encontrar y corregir bugs es una parte normal de la programación.

Instalar Nyx

Para escribir programas en Nyx, necesitas tres cosas:

  1. Un editor de texto — Cualquier editor que pueda guardar archivos de texto plano. VS Code, Sublime Text, Vim, Notepad++ — cualquiera de estos funciona.
  1. El compilador de Nyx — Traduce tu código en un binario.
  1. Clang — Una herramienta que enlaza el código compilado con el runtime. Viene preinstalado en la mayoría de sistemas o se puede instalar con un solo comando.

Para instalar Nyx en Linux o macOS:

curl -sSf https://nyxlang.com/install.sh | sh

Para verificar la instalación:

nyx --version

Deberías ver algo como Nyx v0.12.0.

Tu primer programa

Crea un archivo llamado hola.nx en tu editor de texto y escribe esto:

fn main() {
    print("¡Hola, Mundo!")
}

Desglosemos esto:

Compilar y ejecutar

Abre tu terminal, navega a la carpeta donde guardaste hola.nx, y escribe:

nyx run hola.nx

Deberías ver:

¡Hola, Mundo!

Eso es todo. Acabas de escribir, compilar y ejecutar tu primer programa. El comando nyx run hace dos cosas automáticamente: compila tu código en un binario y luego ejecuta ese binario.

Si quieres compilar sin ejecutar (para crear un binario que puedas compartir o desplegar):

nyx build hola.nx
./hola

Esto crea un binario llamado hola que puedes ejecutar en cualquier momento, en cualquier máquina compatible, sin necesitar que Nyx esté instalado.

¿Qué acaba de pasar?

  1. Escribiste instrucciones en un archivo de texto (hola.nx).
  2. El compilador de Nyx tradujo esas instrucciones a código de máquina.
  3. El binario resultante (hola) se ejecutó en tu computadora e imprimió texto en la pantalla.

Este es el ciclo central de la programación: escribir → compilar → ejecutar. Todo lo que aprendas de aquí en adelante es sobre escribir instrucciones más sofisticadas.

Inténtalo tú mismo

Antes de seguir, intenta modificar tu programa:

  1. Cambia el mensaje a tu nombre:
fn main() {
    print("¡Hola, estoy aprendiendo Nyx!")
}
  1. Agrega múltiples líneas:
fn main() {
    print("Línea 1")
    print("Línea 2")
    print("Línea 3")
}
  1. Intenta cometer un error a propósito y ve qué pasa:
fn main() {
    print("A este le falta el paréntesis de cierre"
}

El compilador te mostrará un mensaje de error. Leer y entender los mensajes de error es una habilidad importante — son el compilador intentando ayudarte a encontrar el problema.

Resumen

Siguiente capítulo: Variables y tipos →

Siguiente: Variables y tipos →