La programación ha evolucionado enormemente desde sus orígenes. Hoy desarrollamos aplicaciones móviles, páginas web, sistemas informáticos y herramientas basadas en inteligencia artificial mediante lenguajes y tecnologías que hace apenas unas décadas ni siquiera existían. Sin embargo, muchos de los principios sobre los que se construye el software actual tienen sus raíces en ideas formuladas hace casi dos siglos.
Una de las figuras fundamentales para comprender esta evolución es Ada Lovelace, considerada la primera programadora de la historia y una de las pioneras en reconocer el potencial de las máquinas para procesar información siguiendo instrucciones.
Con motivo del Día de Ada Lovelace, que se celebra cada segundo martes de octubre para reconocer las contribuciones de las mujeres a la ciencia, la tecnología, la ingeniería y las matemáticas, repasamos su legado y analizamos qué relación existe entre sus aportaciones y la forma en la que aprendemos y trabajamos con la programación en la actualidad.
Ada Lovelace, la primera programadora
Augusta Ada King, condesa de Lovelace (1815-1852), nació en el seno de una familia inglesa acomodada y contó con una formación muy completa, inusual para una mujer de aquel tiempo. Fue matemática que colaboró con Charles Babbage, creador del diseño de la máquina analítica, un dispositivo mecánico concebido para realizar operaciones mediante instrucciones programables.
En 1843, Ada tradujo un artículo del ingeniero italiano Luigi Menabrea sobre esta máquina y lo amplió con una serie de notas propias que terminaron siendo considerablemente más extensas que el documento original.
Entre ellas se encontraba la conocida Nota G, donde describió un procedimiento para calcular los números de Bernoulli mediante la máquina analítica. Este trabajo es reconocido habitualmente como el primer programa informático publicado destinado a ser ejecutado por una máquina de propósito general.
Pero su aportación fue más allá de describir una secuencia de operaciones.
Ada comprendió que, si los números podían representar otros elementos mediante reglas, una máquina también podría trabajar con símbolos e incluso procesar estructuras musicales. Una visión extraordinariamente avanzada para una época en la que los ordenadores electrónicos todavía estaban muy lejos de existir.
De Ada Lovelace al código actual: ¿qué ha cambiado en la programación?
Aunque los lenguajes y las herramientas han evolucionado, existe una conexión entre los primeros planteamientos de Lovelace y el desarrollo de software que conocemos hoy, y no es otro que la necesidad de estructurar instrucciones para que una máquina pueda ejecutar una tarea.
Cuando aprendemos a programar, uno de los primeros conceptos que trabajamos es el algoritmo, entendido como una secuencia ordenada y definida de pasos para resolver un problema.
Por ejemplo, imaginemos que queremos desarrollar una aplicación que calcule la nota media de un alumno. Antes de escribir el código, necesitamos establecer qué datos vamos a utilizar, cómo se procesarán y qué resultado esperamos obtener.
Una implementación sencilla en Python podría ser:
notas = [7, 8, 9, 6]
media = sum(notas) / len(notas)
print(«La nota media es:», media)
En este contexto, detrás de estas líneas existe una lógica previamente definida que recoge los valores, los suma, divide el resultado entre el número de elementos y muestra la media obtenida.
Este principio de estructurar operaciones es uno de los fundamentos que conecta los primeros algoritmos con la programación actual, la diferencia está en la escala y en las posibilidades que nos ofrece hoy.
La IA está transformando los procesos de trabajo de los programadores
La incorporación de la inteligencia artificial al desarrollo de software está transformando como programamos, pero también que necesitamos aprender.
Herramientas de asistencia basadas en IA permiten generar fragmentos de código, identificar posibles errores, proponer soluciones, explicar funciones complejas o automatizar determinadas tareas de desarrollo.
Entonces, ¿sigue siendo necesario aprender a escribir código si una inteligencia artificial puede generarlo? La respuesta es si.
Programar no consiste únicamente en conocer la sintaxis de un lenguaje. También requiere analizar necesidades, diseñar soluciones, comprender la arquitectura de una aplicación, trabajar con datos, detectar vulnerabilidades y comprobar que el resultado responde correctamente al problema planteado.
La IA puede ayudar a generar una función, pero el desarrollador debe ser capaz de determinar si esa función es adecuada, si contempla todos los escenarios posibles o si introduce errores que podrían afectar al funcionamiento del sistema.
Por eso, aprender programación y aprender a utilizar la IA no son competencias excluyentes, sino complementarias.
El conocimiento técnico permite aprovechar mejor estas herramientas, formular instrucciones más precisas y evaluar sus resultados con criterio.
Del algoritmo de Ada Lovelace al prompt. La importancia de saber dar instrucciones
Una de las conexiones más interesantes entre los orígenes de la programación con Ada Lovelace y el desarrollo actual se encuentra en la importancia de las instrucciones.
Cuando trabajamos con un lenguaje de programación, debemos expresar mediante una sintaxis determinada qué operaciones queremos que ejecute un ordenador.
Cuando utilizamos una herramienta de IA generativa para desarrollar software, también necesitamos comunicar correctamente qué queremos conseguir.
Sin embargo, mientras que un lenguaje de programación sigue reglas formales de ejecución, un modelo de IA interpreta las instrucciones y genera respuestas que pueden variar o contener errores. Por ejemplo, pedir a una IA que cree un formulario de registro es una instrucción demasiado amplia para un proyecto real.
Así es como, un desarrollador con conocimientos técnicos, puede concretar qué campos necesita, cómo deben validar los datos, qué ocurre cuando se introduce información incorrecta, cómo se almacenarán los registros y qué medidas de seguridad deben contemplarse.
Cuanto mayor sea el conocimiento sobre el problema y sobre la tecnología utilizada, mayor será la capacidad para orientar, revisar y aprovechar el trabajo de estas herramientas.
El prompt no sustituye al algoritmo ni al conocimiento de programación. Es una nueva forma de interactuar con herramientas que pueden asistirnos durante el proceso de desarrollo.
Casi dos siglos después, el legado de Ada Lovelace sigue presente en nuestra forma de entender la programación. Los lenguajes evolucionan, aparecen nuevas herramientas y la inteligencia artificial abre posibilidades que antes parecían impensables.
Pero hay algo que permanece y que debemos recordar. Detrás de cada avance tecnológico sigue siendo fundamental la capacidad humana de imaginar, comprender y transformar ideas en soluciones.


