Elogio del programa
La palabra ‘programa’ proviene del griego y el latín ‘programma’, que significa ‘declaración por escrito de lo que se proyecta hacer’. Actualmente, ‘programa’ se usa en diversos campos, pero destaca su uso en la informática y la genética, las ciencias y técnicas contemporáneas de mayor repercusión en las sociedades y en las personas.
En informática, un programa es un código seriado de instrucciones para hacer cálculos, los ladrillos del conocimiento científico. En genética, un programa es un código de instrucciones para fabricar proteínas, los ladrillos de la vida. Al estar presente en ámbitos tan significativos, el concepto de programa constituye un hito en la historia de la ciencia y la tecnología.
código digital
En el siglo XIX, el concepto de programa adquirió relevancia cuando el ingeniero francés Joseph Marie Jacquard construyó un sistema de tarjetas perforadas para dirigir los movimientos de un telar. Con este sistema se podía cambiar el patrón de un tejido sin tener que cambiar el telar entero, bastaba con cambiar —programar— las perforaciones de las tarjetas.
Inspirado por este sistema, el matemático inglés Charles Babbage concibió una máquina de calcular que incluía, por primera vez, un programa en el sentido informático moderno.
Su proyecto de ‘Máquina Analítica’ incluía dos secciones a las que llamó ‘store’ (almacén) y ‘mill’ (molino). Estos términos, muy ilustrativos para la época, se han perdido, pero encajan perfectamente con su sentido moderno: el ‘almacén’ es una memoria con los datos y el ‘molino’ un procesador con el programa; por eso aquella máquina, aunque no llegó a construirse, es considerada la primera computadora de la historia, sobre todo por su cualidad de máquina programable.
Una computadora moderna incluye, básicamente, la memoria y el programa (ejecutado por el procesador). Ambos están codificados en forma de números en base 2 (ceros y unos: bits), una representación idónea para ser manejada electrónicamente, de ahí el fabuloso éxito de esta tecnología.
Hay una infinita variedad de programas digitales. Se pueden distinguir por su función: los hay asistentes, que ayudan a realizar una actividad, intermediarios, que permiten la comunicación, y generativos, que crean nueva información. De las tres funciones, la más relevante es la generativa.
La llamada ‘inteligencia artificial’ (IA) hace gala de esta cualidad. Areas como los lenguajes naturales, el aprendizaje automático, la representación del conocimiento, el estudio de fenómenos complejos… han progresado enormemente gracias a esta tecnología. La IA invade múltiples campos científicos y técnicos; incluso invade el arte, aunque depende de lo que sea considerado como tal. Más allá de los emoticones, hasta el momento nadie ha escrito un programa para simular las emociones y los sentimientos humanos, ya que no se sabe cómo codificarlos.

‘El último selfie tomado en la Tierra’
Ilustración realizada por un programa generativo a partir de este título
Scott Detweiler/Midjourney, 2022
código genético
La raíz ‘gen’ de la informática generativa emparenta el código digital con el código genético; en este caso, el programa no es un artificio, sino un procedimiento natural que genera la vida.
La vida se desarrolla y evoluciona por la activación de una serie de programas que, por procedimientos químicos, crean las proteínas, los constituyentes básicos de todos los organismos.
Su papel central en las estructuras y el funcionamiento biológicos fue reconocido por los químicos a principios del siglo XIX, cuando acuñaron el nombre de estas sustancias a partir de la palabra griega ‘proteios’, que significa ‘ocupar el primer lugar’.
El primero en revelar el mecanismo de la transmisión genética fue el fraile austríaco Gregor Mendel experimentando el cruce de semillas. Poco más tarde, a comienzos del siglo XX, se acuñó el término ‘genética’ para designar la ‘nueva ciencia de la herencia’.
Entonces dio comienzo la formidable aventura de la biología molecular. En su historia destaca el descubrimiento de la estructura en doble hélice del código genético, en 1953, un descubrimiento que constituye una prueba material de la teoría de la evolución del naturalista inglés Charles Darwin.
El cuerpo humano consta de unos 30 billones de células. Cada célula alberga una misma macromolécula, el ADN, que contiene unos 20.000 genes con las instrucciones para fabricar las piezas que componen el cuerpo: tejidos, huesos, humores… Pues bien, un gen es un programa.
La activación de un gen provoca una serie de reacciones químicas cuyo resultado es una proteína, esto es, una cadena de aminoácidos que desempeña una función vital básica. Hay proteínas defensivas (la queratina), catalíticas (enzimas para la digestión), motoras, etc. El cuerpo humano se rige por unas 10.000 proteínas diferentes, cuyas recetas están codificadas en los genes.

Estructura de la hemoglobina, la proteína que enrojece la sangre y difunde el oxígeno por el cuerpo humano
Un gen consiste en una secuencia de tripletes, llamados ‘codones’, que son combinaciones de cuatro nucleótidos —hechos de carbono, hidrógeno, oxígeno, nitrógeno y fósforo— que se representan con letras: A (adenina), T (timina), G (guanina) y C (citosina). Hay, pues, 4x4x4 = 64 tripletes posibles, por tanto, se pueden generar 64 aminoácidos, aunque el cuerpo humano solo incluye unos 20. Un codón incluye la receta del aminoácido así como su posición en la cadena de la proteína. De manera que puede decirse que los codones son las instrucciones básicas de la vida.
La memoria de una computadora puede acoger cualquier combinación de bits, pero en el programa solo caben las combinaciones que la computadora entiende. Un procesador común funciona mediante 50~80 instrucciones básicas —cortar, copiar, pegar, mover, operaciones aritméticas…— curiosamente, un número similar a las del código genético.
código sobre código
Un programa digital contiene referencias a programas menores que, a su vez, llaman a otros programas más breves y, así sucesivamente, hasta alcanzar la ejecución de instrucciones básicas. Hay programas muy largos, que suelen llamarse aplicaciones, y programas muy cortos, como los bots. El software es como un edificio, se construye por niveles, y en los cimientos están los cálculos básicos, ejecutados por el hardware del procesador.
Esta estructura arborescente se da también en el código genético. El óvulo de un animal, por ejemplo, es en realidad un superprograma que contiene programas y subprogramas, uno encima del otro, capaz de crear una infinita variedad de individuos, cada uno con su ADN y sus genes.
Como apunta el científico Javier Sampedro: “Toda la deslumbrante diversidad animal de este planeta, desde los ácaros de la moqueta hasta los ministros de Cultura pasando por los berberechos y los gusanos que les parasitan, no son más que ajustes menores de un meticuloso plan de diseño que la evolución inventó una vez.” Este ‘plan de diseño’ está escrito en los genes de todas las células de un ser vivo. Se estima que ha dado lugar a 10~14 millones de especies, de las cuales solo 1,2 millones están descritas.
códigos amigos
La genética tiene una dimensión física y experimental, pero su enorme progreso de las últimas décadas se debe, precisamente, a la digitalización de los modelos genéticos.
EL ADN, el complejo de programas para fabricar proteínas, es una molécula muy grande. La cadena de codones del ADN humano se representa mediante una secuencia de unos 3 mil millones de letras (A, T, G, C); un texto que, escrito con una tipografía normal, ocuparía unos 3.000 km. Por eso, para tratar este código —una vez digitalizado— y su combinatoria se precisa una informática muy potente, basada en supercomputadoras.
El primer ADN descifrado —secuenciado, como dicen los biólogos— de un organismo fue la levadura (1996), un hongo microscópico que contiene unos 6.000 genes. Por bien conocida y fácil de manipular, la humilde pero activa levadura es una de las criaturas lanzadas al espacio para conocer el impacto de las radiaciones cósmicas sobre el ADN.

Visualización de un fragmento del DNA humano
Cada color representa un nucleótido A, T, G o C
Proyecto Genoma Humano , 2010
El símil digital permite, por ejemplo, probar proteínas, saber cómo se comportarían en la realidad. El diseño de medicamentos, por ejemplo, no se concibe sin su asistencia.
La genética tiene también su repercusión conceptual en la informática. Hay unos programas digitales llamados, precisamente, ‘genéticos’, que simulan una población de ‘individuos’ regida por las leyes de la evolución —reproducción, mutación, recombinación y selección—. Este tipo de programas resuelven con eficacia ciertos problemas de optimización de recursos.
Los virus son unos seres de apenas 20 genes capaces de infectar media humanidad. En informática, a los bots igualmente malévolos se les conoce, justamente, como virus.
Solo alrededor del 1,5 % del ADN de un humano codifica proteínas, el resto son genes llamados ‘no codificantes’, es decir, que no sirven —aparentemente— para nada.
Esta materia oscura del ADN tiene también su paralelo en el mundo digital. Hay montañas de código en las computadoras que no se emplea para nada, bien porque está obsoleto, bien porque no interesa al usuario común, que suele manejar unos pocos programas. En el ciberespacio también abundan las memorias y los programas inútiles.
La llamada ‘Ley de Moore’ establece que las computadoras doblan su memoria y su potencia cada 2 años. Este crecimiento exponencial ha sido el motor del crecimiento explosivo de las tecnologías de la información. Pues bien, la cantidad de información de secuencias de ADN disponible para la comunidad científica sigue un aumento exponencial similar.
La culminación de similitudes tendrá lugar cuando, tal como se investiga actualmente, se consiga almacenar información en el ADN, esto es, representarla mediante un código cuaternario de nucleótidos (A, T, G, C). El resultado teóricamente previsto es una memoria biológica un millón de veces más densa que la memoria electrónica y un coste energético y ambiental de fabricación mucho menores.
La profunda significación del concepto de programa, digital o genético, plantea cuestiones que van más allá de la computadora o del laboratorio. Por ejemplo, ¿cómo asegurar una informática respetuosa con las personas?, ¿qué criterios éticos han de inspirar a la ingeniería genética? Los retos están servidos; en materias tan sensibles, hay mucho para reflexionar. Se añaden a los otros retos planteados por la ciencia y tecnología modernas, a menudo adelantadas, para bien y para mal, a las mentalidades y las costumbres de los humanos.
addenda
Comparada con la máquina genética, una computadora, por potente que sea, no es más que una máquina de calcular cuyo objetivo es simular una idea o una actividad humana.
El objetivo del código genético, en cambio, es mucho más trascendental: la conservación de la vida. Sin embargo, también podría ser la conservación del propio código, lo que no deja de ser inquietante para los seres con conciencia de vivir. Como apunta el biólogo islandés Kári Stefánsson: “Está claro que el ADN no existe para prestar servicio a los seres vivos. Son los seres vivos que existen para servir al ADN. El propósito de la vida es la preservación del ADN. No es muy romántico, pero no hay Dios. Y es una pena, porque sería útil tener uno”.
A propósito, el físico estadounidense Francis Collins llamó al código genético el ‘lenguaje de Dios’. Dada su ubicuidad planetaria, el código digital sería pues el ‘lenguaje de la humanidad’.
Lo cierto es que ambos lenguajes, tanto el celestial como el mundano, han sido creados, a fin de cuentas (nunca mejor dicho, porque el tema va de cuentas) por un mismo metaprograma enteramente natural: la asombrosa evolución biológica.