Dicen que las cosas hay que empezarlas por el principio, y será mejor que antes de empezar a aprender nuevas cosas sobre informática y programación sepamos de dónde venimos, porque esta historia está repleta de hitos que han sucedido en un espacio de tiempo muy breve (relativamente) y si no echamos la vista atrás puede que algunos hechos francamente importantes se nos pasen por alto.
En aquellos tiempos…
La información ha sido algo que siempre ha estado presente, el problema radicaba en qué hacer con esa información y cómo guardarla para su posterior consulta. Ya los hombres primitivos usaban piedras para algo tan abstracto para ellos como era contar cosas y hacer sumas sencillas. El ábaco está considerado el instrumento de cálculo más antiguo, de origen incierto pero reivindicado como propio por distintas culturas; con este invento es posible realizar operaciones aritméticas básicas (sumas, restas, multiplicaciones y divisiones) aunque también algunas operaciones más complejas para quienes tienen experiencia con él.
Posteriormente, y antes de que se inventasen las primeras calculadoras, John Napier (1550-1617), justo en el año de su fallecimiento, dio al mundo a conocer el ábaco neperiano; gracias a este invento las multiplicaciones podían obtenerse por medio de sumas, las divisiones por medio de restas, las potencias por medio de multiplicaciones y las raíces por medio de divisiones.
Las primeras calculadoras
En 1623 Wilhelm Schickard (1592-1635) inventó la primera calculadora automática, denominada reloj calculante; hasta hace poco se pensaba que la primera calculadora había sido inventada por Blaise Pascal (1623-1662), la conocida como Pascalina, pero este invento data de 1642, por tanto, es posterior.
La máquina analítica
En 1812 Charles Babbage desarrolló la denominada máquina de diferencias: un instrumento mecánico para calcular tablas de funciones. Posteriormente, en 1832, también Babbage desarrolló el proyecto de la máquina analítica: una máquina programable capaz de hacer cualquier tipo de cálculos, no sólo aritméticos, logarítmicos o polinómicos; sus componentes: una memoria para 1000 números de 50 cifras, una unidad aritmético lógica para los cálculos, una unidad de control para que las operaciones se realizasen en el orden correcto, un lector de fichas perforadas para la entrada de datos y una impresora para la salida de resultados. Todo esto nos suena de algo, ¿no?
¿Cuál era el problema? Pues que Babbage sabía cómo desarrollar lo que hoy perfectamente podríamos llamar el padre de todos los ordenadores actuales, pero no sabía cómo crear programas para sacarle el máximo potencial a su máquina. Y aquí es donde entra en juego la señorita Augusta Ada King (1816-1852), más conocida como Ada Lovelace: conoció el invento de Babagge y desarrolló unos programas para resolver ecuaciones trascendentes e integrales definidas con la máquina analítica; en estos programas se hacía uso de lo que hoy se conocen como bucles, sntencia muy importante en los lenguajes de programación. Es por ello que se conoce a Ada Lovelace como la primera programadora de la historia.
Mejorando la productividad
Informática, del francés informatique (a su vez un acrónimo de las palabras information y automatique) es el tratamiento automático de la información, es por ello que la primera persona que construyó una máquina de este tipo fue Herman Hollerith (1860-1929): desarrolló un tabulador electromagnético de tarjetas perforadas para ayudar en el resumen de la información y, más tarde, la contabilidad; su primer invento lo hizo cuendo trabajaba en la oficina del censo de EE.UU., se dio cuenta de que realizando el censo de 1890 todavía no se había terminado el de 1880, por lo que inventó una máquina capaz de leer unas tarjetas perforadas que contenían la información que se había obtenido de cada encuestado, estas fichas se introducían manualmente en una lectora de tarjetas, que detectaba la posición de las perforaciones dejando pasar mercurio a través de los agujeros y provocando a su paso los contactos eléctricos necesarios para convertir esos agujeros en datos almacenables. Gracias a este invento podía almacenarse la información de 200 fichas cada minuto.
Y hasta aquí, que si no os cansáis de leer y dejáis la historia a medias. ¡Eso no puede ser! En la próxima entrega de esta serie empezaremos fuerte… Aprendiendo algo más sobre Alan Turin y su dispositivo teórico conocido como la Máquina de Turing.
¡Nunca dejéis de programar!