Test: Descubre qué bootcamp es para ti

whatsapp keepcoding

¿Qué es Whitespace y por qué su código es completamente invisible?

| Última modificación: 3 de febrero de 2025 | Tiempo de Lectura: 3 minutos
0
(0)

En la programación tenemos un mantra «el código debe ser claro y legible». Eso creía yo, hasta que alguien me pidió leer un código en Whitespace y obviamente no aparecía nada. Entonces, ni lo de claro ni lo de legible se cumple en este lenguaje de programación.

¿Cómo es que puede funcionar un lenguaje compuesto únicamente por espacios en blanco, tabulaciones y saltos de línea? ¿Dónde están las letras, los números o los símbolos? ¿Quién se los quitó? Te cuento todo sobre Whitespace, para que aprendas cómo se programa en un lenguaje que no se puede ni ver.

Whitespace qué es

¿Qué es Whitespace?

Whitespace es un lenguaje de programación bastante raro e inusual, creado por Edwin Brady y Chris Morris en la Universidad de Durham, Reino Unido. Los muy bromistas lo lanzaron el 1 de abril de 2003 como una broma del Día de los Inocentes, pero, sorprendentemente, es completamente funcional y tan potente como cualquier otro lenguaje.

Estos investigadores investigadores crearon Whitespace como un experimento y una forma de burlarse de lo complicados que pueden ser algunos lenguajes de programación. El punto que ellos querían probar era que se podía hacer un lenguaje completamente funcional usando solo espacios en blanco.

Características

  • Código «invisible»: Su mayor peculiaridad es que solo usa espacios, tabulaciones y saltos de línea para escribir instrucciones. Todo lo demás se ignora, así que el código parece estar vacío a simple vista.
  • Usa una pila para operar: Funciona como una calculadora que guarda números en una pila y los manipula con comandos específicos.
  • Cada espacio en blanco significa algo: Un espacio es, literalmente, un espacio. Una tabulación es una tabulación. Un salto de línea es, bueno, un salto de línea.
  • Las instrucciones están escondidas en los espacios: Un conjunto de espacios, tabulaciones y saltos de línea puede significar algo como «sumar».
  • Escribirlo y leerlo es un dolor de cabeza: Como todo el código es «invisible», escribir en Whitespace sin ayuda es casi imposible. Por eso, se usan editores especiales que muestran los espacios en blanco de forma clara.

Escribiendo «Hola Mundo» en Whitespace

Si quieres imprimir «Hello, World!» en Whitespace, necesitas representar cada carácter en código ASCII y apilarlo en la memoria.

Aquí está el código «Hola Mundo» en Whitespace (con colores para hacerlo visible):

[Espacios, tabulaciones y saltos de línea invisibles]

¿Cómo funciona?

  1. Convierte cada letra en su código ASCII.
  2. Cárgalo en la pila.
  3. Usa la instrucción de salida (.) para imprimirlo.

Para que logres ver el resultado de este código, debes usar un intérprete de Whitespace.

Cómo funciona Whitespace

Tienes que saber que es un lenguaje basado en pila, lo que significa que las operaciones se realizan apilando y desapilando valores en memoria.

Instrucciones básicas

ComandoSímbolo
Push a la pilaEspacio + número
Duplicar el valor superiorTab + Espacio
Eliminar el valor superiorTab + Línea Nueva
Suma, resta, multiplicaciónTab + Tab + operador
Salida de datosTab + Línea Nueva + .

Ejemplo: Para apilar el número 10 en la pila, escribirías:

(Solo espacios y tabulaciones aquí para representar 10 en binario)

Sí, literalmente escribes números en Whitespace usando solo espacios invisibles.

Creando una calculadora simple

Aquí tienes un programa en Whitespace que suma dos números:

(Solo espacios, tabulaciones y saltos de línea para representar una suma)

Sí, ya sé que es angustiante que no se ve nada, pero en este código encontrarás lo siguiente:

  1. Apila el primer número.
  2. Apila el segundo número.
  3. Suma ambos valores.
  4. Muestra el resultado en pantalla.

Leer un número y mostrarlo en la salida

¿Qué hace este código?

  1. Solicita un número al usuario.
  2. Guarda el número en la pila.
  3. Lo imprime en pantalla.
(Solo espacios, tabulaciones y saltos de línea que representan el código)

Explicación:

  • , → Lee un número de la entrada estándar y lo guarda en la pila.
  • . → Toma el valor de la pila y lo imprime.

La verdad es un lenguaje solo para matar la curiosidad, pero no te recomiendo pasarte horas y horas aprendiéndolo, porque no se usa para nada en la industria, es bastante difícil y para completar no se puede ver por su sintaxis invisible. Lo mejor es que optes por aprender uno de estos lenguajes de programación más usados, porque sí les podrás sacar provecho a nivel profesional.

Crea aplicaciones web funcionales, optimiza código y aprende tecnologías modernas, en el Bootcamp de Desarrollo Web de KeepCoding te enseñaremos todo lo que necesitas para convertirte en un experto. ¡Inscríbete y lleva tu carrera al siguiente nivel!

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado

Conviértete en Full Stack Deeveloper en solo 10 meses. Accede a un sector con el 98,49% de empleabilidad con sueldos de hasta 80K.