Kodokon kodokon.com

Por qué el código no es más que texto

Descubre que todo programa es solo un archivo de texto, y por qué eso cambia tu forma de trabajar.

6 min · 3 preguntas

Abrir esta lección en Kodokon

Esta es la revelación que sorprende a casi todo el mundo: el código no es más que texto. Ni un formato secreto, ni un misterioso archivo binario. Una web, una aplicación de móvil, un videojuego: todo parte de archivos que podrías abrir en el Bloc de notas y leer carácter a carácter. No hay nada escondido dentro, y eso es precisamente lo que hace que la programación se pueda aprender.

Eso sí, con un matiz: hablamos de texto plano, no de texto enriquecido. Cuando escribes en Word, LibreOffice o Google Docs, el archivo contiene mucho más que tus letras: la fuente, el tamaño, los colores, los márgenes, todo almacenado como formato invisible. Un archivo de código contiene solo los caracteres, en orden, sin el menor adorno. Los colores que verás más adelante en tu editor no están en el archivo: los añade el editor en pantalla, para ayudarte.

TEXT
Contenido real del archivo index.html, carácter a carácter:

<h1>Hola</h1>
<p>Mi primera página.</p>

Nada más. Ni fuente, ni color, ni margen.
Un archivo de código no contiene más que los caracteres que escribes.

¿Y qué pasa con la extensión, ese pequeño sufijo que va después del punto: .txt, .html, .py, .js? No es más que una etiqueta pegada en la caja. No cambia nada del contenido. Está ahí para indicarles a los programas, y a ti, qué se supone que contiene el archivo. Cambiar el nombre de photo.jpg a photo.txt no convierte la imagen en texto: el contenido sigue igual, lo único que miente es la etiqueta. Al revés, el mismo texto guardado como page.txt o como page.html es exactamente el mismo archivo, pero tu navegador solo lo mostrará como una página web en el segundo caso.

Todo esto tiene otra consecuencia: nunca escribas código en un procesador de textos. Word y Google Docs autocorrigen lo que tecleas y, en particular, cambian tus comillas rectas por unas comillas tipográficas curvas muy bonitas. Para ti, la diferencia es invisible. Para la máquina, son dos caracteres completamente distintos, y tu programa se negará a funcionar sin más.

TEXT
Lo que espera la máquina   "hola"     comillas rectas
Lo que escribe Word        “hola”     comillas tipográficas curvas
Otra trampa habitual       'hola'  ->  ' se convierte en apóstrofo curvo
Dos caracteres que se parecen no son el mismo carácter.

Prueba de conocimientos

Comprueba que has retenido los puntos clave de esta lección.

  1. ¿Qué contiene realmente un archivo de código?
    • Solo los caracteres que escribiste, sin ningún formato
    • Los caracteres y los colores con los que se muestran
    • Un formato comprimido ilegible sin un programa especial
  2. ¿Para qué sirve la extensión de un archivo, como .html?
    • Para indicar qué se supone que contiene el archivo
    • Para comprimir el contenido del archivo
    • Para proteger el archivo frente a cambios
    • Para cambiar el contenido del archivo
  3. ¿Por qué no deberías escribir código en Word?
    • Sustituye automáticamente ciertos caracteres, como las comillas
    • No puede guardar archivos
    • Limita el número de líneas permitidas