Babbage i la màquina analítica

Col·laboració de Ana Martín per al capítol Programar ordinadors

Els primers llenguatges de programació van sorgir de la idea de Charles Babagge, la qual se li va ocórrer a aquest home a mitjan segle XIX. Era un professor matemàtic de la universitat de Cambridge i inventor anglès, que la principi del segle XIX va predir moltes de les teories que es basen els actuals ordinadors.

Charles Babbage havia constatat al 1812, que molts dels càlculs molt llargs consistien en operacions que calia repetir de manera regular, i des d’aquest punt de vista va especular que havia de ser possible dissenyar una màquina calculadora que pogués fer aquestes operacions de forma automàtica.

El seu primer intent per a dissenyar una màquina va ser la màquina diferencial, que va ser un computador dissenyat específicament per a construir taules de logaritmes i de funcions trigonomètriques avaluant polinomis per aproximació. Si bé aquest projecte no va veure la llum per raons econòmiques i personals, Babbage va comprendre que part del seu treball podia ser aprofitat en el disseny d’un computador de propòsit general, de manera que va iniciar el disseny de la màquina analítica, la qual estava dissenyada per a realitzar qualsevol operació aritmètica i enllaçar tals operacions entre si per a resoldre, en principi, qualsevol problema aritmètic concebible.

Amb les invencions de Babbage no s’intentava construir un cervell mecànic, ni tan sols una màquina universal capaç de processar informació de forma automàtica. La màquina analítica no és en la seva ment un suport de programes, com ho són els ordinadors.

L’objectiu de Babbage consistia, abans de res, a elaborar taules nàutiques, astronòmiques i matemàtiques exactes, que substituïssin a les utilitzades fins a llavors, que estaven plegades d’errors. Per a elaborar taules numèriques precises, era necessari mecanitzar, al mateix temps el càlcul i la impressió. No es tractava del somni d’una màquina pensant, sinó de proposar un mètode industrial que reduís els terminis d’execució, eliminés els errors de càlcul i de composició, i abaratís els costos d’edició de taules.

Així doncs, l’objectiu perseguit era obtenir una màquina calculadora de propòsit general, controlada per una seqüència d’instruccions, amb una unitat de procés, una memòria central, facilitats d’entrada i sortida de dades, i possibilitats de control pas a pas, és a dir, el que avui coneixem com programa. D’aquesta manera, el seu disseny és una fita en la història de la informàtica, ja que va incorporar per primera vegada quatre components bàsics de la computació .Hauria el que Babbage anomenava el magatzem, en el qual es col·locarien les dades numèriques participants en un càlcul i el qual consistiria en columnes de rodes, cadascuna amb deu dígits gravats. Babbage volia que el magatzem albergués mil nombres de 50 dígits. La segona part bàsica de la seva calculadora era el molí: la part en la qual es portarien a terme les operacions aritmètiques, mitjançant la rotació d’engranatges i rodes. En tercer lloc, hauria un dispositiu, essencialment una col·lecció d’engranatges i palanques, que podrien transferir nombres d’un a altre entre el molí i el magatzem. I, finalment, hi havia un mecanisme per a ficar i treure les dades numèriques.

La màquina analítica havia de funcionar amb un motor a vapor i hagués tingut 30 metres de llarg per 10 d’ample. Per a l’entrada de dades i programes havia pensat utilitzar targeta perforada, que era un mecanisme ja utilitzat en l’època per a dirigir diversos equips mecànics. La sortida havia de produir-se per una impressora, un equip de dibuix i una campana. La màquina devia també perforar targetes que podrien ser llegides posteriorment. Cal dir també, que la màquina analítica treballava amb una aritmètica de punt fix en base 10, i que posseïa una memòria capaç d’emmagatzemar 1.000 nombres de 50 dígits cadascun.

El llenguatge de programació que seria utilitzat era similar als actuals llenguatges ensambladors. Era possible realitzar llaços i condicionals de manera que el llenguatge proposat hagués estat Turing-complet. S’utilitzaven tres tipus diferents de targetes perforades: una per a operacions aritmètiques, una per a constants numèriques i altra per a operacions d’emmagatzematge i recuperació de dades de la memòria, i la transferència de dades entre la unitat aritmètica i la memòria. Es disposava de tres lectors diferents per als tres tipus de targetes.

En conclusió, val a dir que en opinió de la majoria dels especialistes contemporanis, la màquina analítica de Babbage representa un disseny complet d’una computadora que potser per problemes de tipus financer, per la falta de tecnologia necessària per a realitzar-lo i també d’un ambient propici, no es va completar en la seva època. És opinió unànime que l’ambiciós projecte de Babbage, només podia realitzar-se amb el concurs de la tecnologia electrònica i no amb els elements mecànics disponibles en la seva època.

Col·laboració de Ana Martín per al capítol Programar ordinadors