¿Sabes qué es lo primero que aprende a decir un programador? «¡Hola mundo!». La generación de este mensaje es casi un rito de iniciación en la programación y suele ser la puerta de entrada a muchos lenguajes. En la mayoría de ellos basta con una línea de código. En el caso de JavaScript, el lenguaje de programación que entiende tu navegador, podemos usar una sencilla función alert("¡Hola mundo!");. Al ejecutar la instrucción, verás cómo el saludo se materializa ante tus ojos.
Input
Éste es el ejemplo más básico posible: un botón que, al ser pulsado, muestra el mensaje “¡Hola mundo!”.
<button onclick="alert('¡Hola mundo!')">Haz clic aquí</button>
Pruébalo tú mismo:
La función alert provoca la aparición de un cuadro emergente. Es una función informativa: el usuario solo puede hacer clic en “Aceptar”. Su acción no debería desencadenar más instrucciones, sería el equivalente digital de un “mensaje recibido”.
Exception
Es obvio que nadie se instalaría una aplicación que solo imprima el mismo mensaje una y otra vez. La excepción, como suele ocurrir, confirma la regla: en 2008 apareció en la App Store de Apple una aplicación llamada I Am Rich, que costaba 999 dólares y cuya única “funcionalidad” era mostrar una imagen de un diamante en pantalla. Era inútil, pero alguien la compró.
Function
Veamos ahora un ejemplo un poco más complejo, pero todavía sencillo y, sobretodo, útil. Un conversor de grados Celsius a Fahrenheit. El código sigue siendo muy corto —menos de 20 líneas— y al final muestra un mensaje informando del resultado.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<!-- Conversor de Celsius a Fahrenheit --> <input type="number" id="celsius" placeholder="Grados Celsius"> <button onclick="convertir()">Convertir</button> <script> function convertir() { // Obtenemos el valor introducido por el usuario const celsius = document.getElementById('celsius').value; // Calculamos el resultado const fahrenheit = (celsius * 9/5) + 32; // Mostramos el mensaje de éxito alert(celsius + "°C son " + fahrenheit + "°F. Operación completada con éxito."); } </script> |
Pruébalo tú mismo
Si te fijas, la alerta sigue requiriendo una sola línea de código, aunque ahora forma parte de un conjunto de instrucciones necesarias para convertir la temperatura.
Stack
Para que esa línea funcione, debe apoyarse en toda una pila —un stack— de lenguajes, librerías y sistemas. En definitiva, requiere de un ecosistema entero que lo hace posible:
- El lenguaje de programación, en este caso JavaScript (sus diversas implementaciones rondan los 2-3 millones de líneas de código).
- Un navegador capaz de ejecutarlo (Firefox, con unas 20 millones de líneas de código; Chrome, con más de 30 millones).
- Un sistema operativo sobre el que corre el navegador (el núcleo de Linux ronda los 30 millones de líneas; Windows supera los 50 millones).
Una línea de código visible reposa sobre decenas de millones de líneas invisibles. Es el pico de un iceberg cuyo verdadero alcance sobrepasa la capacidad de manejo y comprensión de cualquier programador individual.
Interface
Esta imagen sugiere una pregunta. Así como alert solo muestra un mensaje porque el sistema lo invoca, ¿hasta qué punto los humanos que “entregan el mensaje” —políticos, directivos, líderes— son los verdaderos autores de sus palabras? ¿Y hasta qué punto son solo portavoces de un sistema mayor que opera por debajo de su propia conciencia?
No estoy hablando de conspiraciones, sino de la complejidad de la toma de decisiones humanas. Cuando un político dice “he decidido” o un directivo afirma “hemos optado por”, ¿realmente son ellos quienes deciden? ¿O son simplemente la punta visible de un proceso mucho más complejo que involucra a miles de personas, instituciones y fuerzas sociales?
Nos gusta pensar que deciden porque tienen la palabra. Pero quizá lo único que hacen es plasmar en palabras una decisión ya tomada por procesos invisibles: la sociedad, la cultura, la historia, la economía. Decir que un humano “ha decidido” algo podría ser tan ingenuo como pensar que la línea alert("Operación completada con éxito"); es responsable de todo lo que ha pasado antes de mostrar el mensaje.
Output
La filosofía lleva siglos discutiendo si decidimos realmente o si nuestra voluntad es una ilusión. Valga como ilustración la frase atribuida a Schopenhauer, “El hombre puede hacer lo que quiere, pero no puede querer lo que quiere”. O el filósofo holandés Baruch Spinoza, que afirmaba que “los hombres se creen libres porque son conscientes de sus acciones, pero ignorantes de las causas que las determinan”.
Tal vez, atribuir una acción a una sola persona es tan reduccionista como atribuir la aparición de un mensaje emergente en pantalla a una única línea de código. El mensaje se muestra, sí, pero detrás hay un sistema entero que lo ha hecho posible y del que todos formamos parte sin ser conscientes. Quizá nadie sea, del todo, el autor de «¡Hola mundo!», del mismo modo que nadie lo es de sus propias decisiones.
