Showing posts with label Charles Babbage. Show all posts
Showing posts with label Charles Babbage. Show all posts

Tuesday, December 31, 2019

Maurice V. Wilkes . Premio Turing ACM 1967

Maurice V. Wilkes ACM Turing Award 1967:
Traducción del texto de presentación del Premio Turing 
https://amturing.acm.org/award_winners/wilkes_1001395.cfm

(Dió el curso en Cambridge al que asistió EW Dijkstra en el verano de 1951) 




CITACIÓN
     El profesor Wilkes es mejor conocido como el constructor y diseñador de EDSAC, la primera computadora con un programa almacenado internamente. Construido en 1949, el EDSAC utilizó una memoria de línea de retardo de mercurio. También es conocido como el autor, con Wheeler y Gill, de un volumen sobre "Preparación de programas para computadoras digitales electrónicas" en 1951, en el que se introdujeron efectivamente las bibliotecas de programas.





 
     Maurice Vincent Wilkes nació el 26 de junio de 1913 en Dudley, en el condado de Staffordshire, en las Midlands inglesas. Su padre era un oficial financiero de la herencia del conde de Dudley, que tenía amplios intereses mineros. Su madre era ama de casa. Fue educado en la King Edward VI Grammar School, Stourbridge. En su adolescencia, construyó conjuntos de cristal, leyó Wireless World y, finalmente, obtuvo una licencia de radioaficionado, una experiencia que resultó útil cuando se trataba de construir computadoras electrónicas dos décadas después. Ingresó en St Johns College, Universidad de Cambridge, en 1931, donde era lector de matemáticas.
 
      En octubre de 1935 se convirtió en estudiante de investigación en el Laboratorio Cavendish, Universidad de Cambridge, trabajando en la propagación de ondas de radio largas. La primavera siguiente, asistió a una conferencia de Douglas Hartree, experto en informática y profesor de física matemática en la Universidad de Manchester. Hartree describió el "analizador diferencial" inventado por Vannevar Bush en el MIT. Esta era una máquina de computación analógica para la integración de ecuaciones diferenciales. Hartree había construido un analizador diferencial modelo de Meccano (un juguete de construcción británico similar al American Erector Set), que resultó sorprendentemente útil. Una copia de esta máquina fue construida en Cambridge bajo la dirección de John Lennard-Jones, profesor de química teórica, y Wilkes se convirtió en un usuario entusiasta. A principios de 1937, la Universidad estableció un Laboratorio de Computación bajo la dirección de Lennard-Jones, y Wilkes fue nombrado director asistente desde octubre de 1937.



 Maurice Wilkes (a la derecha) con el Meccano differential analyser 
en el Laboratorio de Matemáticas de la Universidad de Cambridge, 1937.


     Al estallar la guerra, el Laboratorio de Computación fue tomado por los militares. Wilkes se unió al esfuerzo de guerra científica y trabajó en investigaciones de radar y operaciones. Esto le dio una base ideal y una red de contactos para construir computadoras después de la guerra.

     En octubre de 1945, Wilkes regresó a Cambridge para hacerse cargo de lo que ahora se llamaba el Laboratorio de Matemáticas. En mayo de 1946, fue visitado por LJ Comrie, un pionero en computación mecánica, quien trajo consigo una copia del primer borrador de un informe sobre el EDVAC escrito por John von Neumann, que resume las deliberaciones del grupo de computadoras en la Escuela Moore de Ingeniería Eléctrica, Universidad de Pennsylvania. La Escuela Moore acababa de completar el ENIAC, la primera computadora electrónica del mundo para cálculos de defensa, y el EDVAC fue el diseño de una máquina de seguimiento. Wilkes nunca antes había visto el informe y se quedó despierto hasta altas horas de la noche leyéndolo. Lo reconoció de inmediato como "lo real" y decidió que el laboratorio tenía que tener uno. 

     Más tarde, en 1946, Wilkes fue invitado a asistir a una escuela de verano en diseño de computadoras organizada por la Moore School. Debido a las dificultades para obtener un pasaje transatlántico, no llegó al curso hasta mediados de agosto, momento en el que había perdido más de la mitad. Rara vez con poca confianza, Wilkes decidió que no había perdido mucha importancia. Navegando a casa en el Queen Mary, comenzó el diseño de una máquina que llamó la Calculadora automática de almacenamiento electrónico de retardo - EDSAC para abreviar, un acrónimo elegido conscientemente como un tributo al EDVAC.

     El trabajo comenzó a construir el EDSAC a principios de 1947. Casi todo tenía que hacerse desde cero: tecnología de memoria, aritmética y lógica electrónica, y circuitos de control. La Universidad de Cambridge estaba en el centro de la informática del Reino Unido en este momento, en parte debido a los coloquios quincenales que Wilkes estableció, a los que asistieron miembros de casi todos los proyectos informáticos del país.

     El EDSAC nació el 6 de mayo de 1949, la primera computadora electrónica de programas almacenados práctica del mundo. La Universidad de Manchester llegó allí por primera vez en junio de 1948 con una máquina experimental, pero el EDSAC fue el primero capaz de ejecutar programas realistas. A principios de 1950, el Laboratorio estaba ofreciendo un servicio informático regular.




"La preparación de programas para una computadora digital electrónica - 1951 "
(Posiblemente el primer libro de ciencias de la computación)
     
Wilkes decidió que el Laboratorio se especializaría en programación en lugar de construir computadoras. Quizás fue la primera persona en reconocer que lo que ahora llamamos software (un término que no se usó hasta alrededor de 1960) demostraría ser una búsqueda académica valiosa. Asignó el diseño del sistema de programación EDSAC a un estudiante de investigación David Wheeler (más tarde profesor de informática en Cambridge). El sistema que Wheeler creó fue un tour de force que fue admirado en todo el mundo. En 1951, Wilkes publicó las técnicas como el primer libro de texto sobre programación La preparación de programas para una computadora digital electrónica, aunque el libro era conocido generalmente por sus tres autores como "Wilkes, Wheeler and Gill" o WWG para abreviar. El tercer autor, Stanley Gill, fue otro joven investigador que más tarde se convirtió en una figura importante en la informática británica hasta su prematura muerte en 1975.




 Maurice Wilkes and Bill Renwick frente al EDSAC



     EDSAC pronto se cargó a su máxima capacidad, y se trazaron planes para un sucesor, EDSAC 2. A Wilkes se le ocurrió un nuevo principio de diseño, al que llamó microprogramación, que simplificó enormemente el diseño lógico de la nueva computadora. La microprogramación fue la contribución científica más importante de Wilkes a la informática, y si no hubiera hecho nada más, sería famoso por eso . A principios de la década de 1960, IBM basó sus computadoras System / 360 en todo el mundo en torno a la idea, y sigue siendo una piedra angular de la arquitectura de la computadora.

     Wilkes fue nombrado profesor de tecnología informática en Cambridge en 1965. Siguió siendo director del Laboratorio de Computación (el nombre fue cambiado del Laboratorio de Matemáticas en 1970) hasta que alcanzó la edad legal de jubilación de 67 años en 1980. Su mandato había visto evolucionar las computadoras a partir de instrumentos científicos para máquinas de procesamiento de información que fueron la base de una industria mundial. El Laboratorio se mantuvo al día con las tendencias cambiantes, principalmente en ingeniería informática, desarrollando sistemas de tiempo compartido en la década de 1960 y redes de computadoras en la década de 1970. Wilkes era muy bueno para mantenerse al día con las tendencias tecnológicas y para evitar que tanto él como el laboratorio quedaran atrapados en modas de investigación.

     La prominencia de Cambridge y la confianza de Wilkes llevaron a un flujo constante de invitaciones para dar conferencias y participar en comités internacionales. Jugó un papel influyente en la promoción de la informática en Gran Bretaña, fue elegido miembro de la Royal Society en 1956, se convirtió en presidente inaugural de la British Computer Society en 1957 y se desempeñó como representante británico de la Federación Internacional de Sociedades de Procesamiento de Información.

     Wilkes recibió muchos premios y honores académicos. Además del Premio ACM Turing en 1967, recibió el Premio Harry H. Goode Memorial del IEEE en 1968, el Premio McDowell de la IEEE Computer Society en 1981 y la Medalla Faraday de la Institución de Ingenieros Eléctricos también en 1981. En 1992 fue el primer ganador del Premio de Kyoto. Recibió doctorados honorarios de varias universidades, incluida su alma mater, la Universidad de Cambridge. Fue nombrado caballero en 2000.

     Después de su retiro de la Universidad de Cambridge en 1980, asumió el cargo de ingeniero consultor en la Digital Equipment Corporation en Maynard, Massachusetts. En 1986 regresó a Cambridge, donde se convirtió en miembro de la junta de los Laboratorios de Investigación Olivetti-AT & T. Como profesor emérito, mantuvo una estrecha asociación con el Laboratorio de Computación hasta los últimos meses de esta vida. Wilkes estaba profundamente interesado en la historia de su tema. Hizo un estudio de Charles Babbage y escribió varios artículos importantes sobre el pionero de la informática y su entorno.

Wilkes murió en Cambridge, el 29 de noviembre de 2010. Se casó con Nina Tyman en 1948, que murió antes que él. Tenían un hijo y dos hijas.




 Maurice Wilkes inspeccionando
la delay line de mercurio del
EDSAC en construcción



 Author: Martin Campbell-Kelly


Monday, December 30, 2019

Com s'ha arribat fins a la Programació Orientada a Objectes?

Com s'ha arribat fins a la Programació Orientada a Objectes?
Per. Maurici Carbó



       Estem rodejats d'ordinadors, telèfons i tauletes. Aquests aparells realment són petits computadors que també n'hi diem maquinari (hardware en anglès) i funcionen dirigits per un programari (software en anglès) i ho considerem una cosa de la vida de cada dia.

      Però tot això és molt nou. Els fets més importants han passat els darrers anys: a partir de 1970, no s'ha inventat a casa nostra, i gairebé no ens n'hem assabentat de res, ni tampoc sabem com hem arribat fins aquí. Això és el que voldria explicar aquí.

      Tot ve de la necessitat de l'ésser humà des dels temps més antics de preveure què passarà, i quan passarà en el futur. Tan per a poder situar-se al món com per construir calendaris precisos.

      Els antics Grecs ja van construir les primeres màquines amb engranatges per a preveure la situació previsible del sol, la lluna els planetes i les estrelles al cel en una data concreta. L'exemple més conegut i sorprenent per la seva antiguitat és l'Anticitera.

Anticitera (de l'any 100 aC):



Reconstrucció dels mecanismes de l'Anticitera

      I al llarg de la Història es van anar fent màquines cada cop més complicades per a poder preveure fets cada cop més detallats: Per exemple, per preveure les marees. Són les màquines d'anàl·lisi harmònic. 
 Màquina d'Anal·lisi Harmònic
Tide Predicting Machine nº2:



En la màquina anterior a aquesta, s'entraven les dades amb unes targetes perforades que eren les mateixes que usaven els telers Jacquard.


  Charles Babbage


Ada Lovelace



 

Per això una de les frases més famoses de Ada Lovelace és:
La Màquina Analítica teixeix patrons algebraics de la mateixa manera que el teler Jacquard teixeix flors i fulles”. (Ada Lovelace)


Teler Jacquard: Teixit i fitxes perforades.

Carta d'agraïment de Charles Babbage a Ada Lovelace 
per la feina que havia fet amb la màquina analítica.  Ell li diu a ella: 
Forget this world and all its troubles and if possible 
its multitudinous Charlatans—every thing 
in short but the Enchantress of Number ” 
(Encantadora de números)




     La màquina més famosa que es conserva encara de tot aquets temps és la “Màquina Diferencial” de Charles Babbage i Ada Lovelace. I aquí per primer cop es va veure que per a fer anar aquestes màquines es necessitaven dos oficis diferents: Construir la màquina, que va ser el que va fer Charles Babbage, i fer-la funcionar, que va ser la feina que va fer Ada Lovelace. El producte del treball dels dos va ser la impressió de llibres de llistats logaritmes que en aquella època eren imprescindibles per a calcular-ho tot.
I al Segle XX, a la Segona Guerra Mundial va sorgir un nou repte: saber què farien els exèrcits enemics espiant i decodificant els seus missatges secrets encriptats amb una màquina (la màquina Enigma). Treballant inicialment a mà, Alan Turing i tot l'equip de Bletchley Park (a Buckingamshire UK), van construir una màquina anomenada “Bombe” que va aconseguir desxifrar els missatges secrets de l'Enemic. Però tot i amb aquest èxit, el més important que va fer Alan Turing va ser entendre que algun dia hi podria haver una màquina que podés fer qualsevol càlcul sense haver-la de fer a mida per a cada problema. Això el converteix en el fundador del la Ciència de les Computadores.



 Code Breakers” de Bletchley Park





      Totes les màquines que s'havien fet fins aleshores eren dedicades a fer una feina concreta que començava i s'acabava. Però al pensar en màquines generals, el que ara se'n diuen “Màquines de Turing” el primer que va preocupar a Turing va ser saber abans de començar si per a fer un càlcul qualsevol, la màquina s'acabaria parant i donant un resultat, o no: Va deduïr que una màquina de les seves no podria saber mai això abans.



Funcionament d'una màquina de Turing.
(amb el programa anomenat: el Castor ocupat)

      Una màquina de Turing és l'equivalent a qualsevol computador que es pugui construir. Però és només un experiment mental que dona la imatge més senzilla possible d'una computadora. I que a la vegada ben programada seria capaç de fer el que faci qualsevol d'elles. És només una cinta infinita en la que un capçal pot anar escrivint i esborrant uns i zeros seguint unes regles preestablertes: Un programa.
Un cop establert el que havia de ser una computadora equivalent a la de Turing, als anys 1950 es van construir moltes màquines d'aquestes arreu del Món. Però els primers èxits que van tenir ressò es van aconseguir a Holanda, on es va construir la màquina ARMAC (1956) i Electrologica X1 amb l'assessorament de EW Dijkstra que va poder fer una demostració en públic del seu algorisme per a Trobar el camí més curt entre dues ciutats de les 64 més importants d'Holanda fet amb el llenguatge per a computadores anomenat ALGOL que Dijkstra va ajudar a crear (publicat el 1959). 



 Edsger Dijkstra (a l'esquerra) 1953 a Amsterdam


     I aleshores es va entrar en la primera explosió de la informàtica. Una batalla impossible per a controlar unes màquines cada cop més grans poderoses i ràpides, i que de vegades paraven sense avisar i els seus programadors amb les mateixes eines que al principi, clamant per assolir una major abstracció: La dificultat del desenvolupament de programes creixia amb la dimensió dels programes i de les màquines.

(Desenvolupant els Objectes per a SIMULA language)


      Cap al 1968 dos noruecs Dahl i Nygaard van inventar els Objectes, quan desenvolupaven un llenguatge de Computadora que es va dir 'SIMULA' pensat per a fer simulacions de física. 




     El 1972 es va publicar el llibre "Structured Programming" escrit per EW Dijkstra Ole-Johan Dahl i C.A.R Hoare.
 
      Finalment, als Estats Units i sota el marc de la investigació en Intel·ligència Artificial al MIT dirigit per Minsky, va produïr els primers processadors de text i es van fer els darrer passos: El Principi de Substitució de Liskov, Que va funcionar per primer cop el 1978 al llenguatge CLU. en referència a la seva autora: Barbara Liskov, autora que posteriorment va fonamentar també la computació distribuïda com a diàleg entre objectes.

 
BarbaraLiskov (Autora de: The Liskov Substitution Principle) 
 
      La combinació dels primers llenguatges d'Ordinador estructurats, amb els Objectes dels noruecs que van desenvolupar el SIMULA, i el Principi de Substitució de Liskov i el diàleg entre objectes de la Computació distribuida van ser el fonament de les abstraccions necessaries per a arribar al que son ara els llenguatges de programació de computadores (Java, C++, C# etc.) i van fer possible tota la complexitat que ha arribat a tenir l'internet actualment. És el que s'anomena Programació Orientada a Objectes.