domingo, 5 de julio de 2015

Ada, Madre del software (1)

Pero que no obtuvo. Eran otros tiempos, no muy proclives para que ciertas mujeres desarrollaran determinadas actividades reservadas sólo a (algunos) hombres.

Un selecto grupo de mujeres científicas que, en alguna que otra ocasión, hemos dado en llamar Hacedoras de la Ciencia.

Y de quien hoy hablamos, a título documental, sólo nos quedan sus iniciales (L.A.L.), escritas en un artículo de 'Taylor’s Scientific Memoirs', publicado en 1843.

Lo que no es óbice para que sus deducciones, sugerencias y aportaciones, sean importantes en la historia de los orígenes de la computación. Se quiera reconocer o no su autoría.

Sin duda fue ella la que dedujo y previó la capacidad de los ordenadores, para ir más allá de los simples cálculos con números. Fue Ada y no otros incluido el propio Babbage, quienes se centraron únicamente en estas capacidades numéricas.

Algo más que unas iniciales
Pero de L.A.L. también hay que destacar su intuitiva y clara percepción de las limitaciones de la Máquina Analítica.

Ella entiende con total nitidez y desde el principio, que se trata de un diseño que podrá hacer todo, y sólo, lo que se le ordene. Sin ninguna posibilidad de crear algo original.

Advierte que la máquina sólo podría dar una información que, de un modo u otro, ya estaba disponible, ya le era conocida. Con total claridad supo ver que la máquina, nunca originaría conocimiento. En una de las páginas de sus Notas se puede leer:

“La Máquina Analítica no tiene ninguna pretensión de originar nada. Es capaz de hacer cualquier cosa, siempre que sepamos ordenarle cómo hacerla. Puede seguir el análisis, pero no tiene capacidad de anticipar cualquier relación o verdad analítica...”.

Se podrá decir más alto, estoy convencido. Pero lo que es más claro, lo dudo.

No obstante la máquina podía: sumar; restar; multiplicar; dividir, como la máquina de B. Pascal; ejecutar instrucciones atendiendo a ciertas condiciones; repetir algunas de las instrucciones; y computar cualquier fórmula algebraica, sin intervención humana en el proceso de cálculo.

Bastaba para ello traducir las órdenes, condiciones y fórmulas algebraicas a tarjetas perforadas. De modo que éstas eran sólo otro lenguaje analítico, un lenguaje de programación, diríamos hoy; en realidad el software Ada.

Tarjetas perforadas y algoritmos
Ada sugirió el uso de tarjetas perforadas como método de entrada de información e instrucciones a la máquina analítica, para con ellas llevar a cabo distintas funciones: componer música, producir gráficos, etcétera. Y desliza una interesante posibilidad.

La de ser empleada tanto en aplicaciones prácticas, como en las puramente científicas.

Entre las ejemplificaciones que aporta, destacan el cálculo de funciones trigonométricas que contuvieran variables, la resolución de problemas difíciles sin error, o la adaptación que hizo de las tarjetas perforadas que utilizó Jacquard en su telar de tejidos, para que la máquina de Babbage repitiera ciertas operaciones.

No olvidemos que entre sus Notas sobre la máquina, se encuentra lo que se reconoce hoy como el primer algoritmo destinado a ser procesado por una máquina. Así es como Ada Lovelace superaba al telar inventado en 1801, por el tejedor J. M. Jacquard, y conocido como telar de Jacquard.

Y como llegó a calcular los números de Bernoulli, llamados así en honor del primer matemático que los estudió, Jakob Bernoulli (1654-1705).

Acerca del telar de Jacquard...
Se trataba de un telar mecánico que utilizaba tarjetas perforadas para tejer patrones en la propia tela de una forma bien simple. Tanto que hasta los usuarios más inexpertos, podían elaborar complejos diseños, a poco que se aplicaran.

Todo un avance. (Continuará)


No hay comentarios:

Publicar un comentario