para Buscar en este blog

Ejemplo: Para acceder a las entradas que incluyan las palabras Sadosky y Clementina , basta colocar las mismas en la ventanita superior.

22/09/2015: Héctor Monteverde: Mi propia historia... (Parte 1 de 2)

Tomado de Museo Informático/ Personalidades Informáticas
Mi origen y mis estudios

Finalicé mi secundario en 1958 como bachiller especializado en fisicomatemáticas, con la expectativa de llegar a ser ingeniero naval. Para ello, me inscribí en el curso de ingreso de la Facultad de Ingeniería de la UBA, pero como demoraba su iniciación, mientras tanto comencé el de la Facultad de Ciencias Exactas.

Ingresé en ambas y, como me fue gustando más el ambiente entusiasta e informal de la Licenciatura en Matemáticas, de la FCEN, que el más formal de la Facultad de Ingeniería, terminé dedicándome a matemáticas. De todas maneras, mi inclinación ingenieril se enfocó hacia lo práctico y cursé optativas propias de matemática aplicada (Seminario Elemental de Cálculo Numérico, Investigación Operativa), orientándome hacia esta última especialidad.

Consciente de que sin recursos de cómputo poco se podía hacer en Investigación Operativa, cuando se creó el Instituto del Cálculo realicé un curso de Autocode para Mercury dado por Ernesto García Camarero y, cuando se abrió la carrera de Computador Científico, me inscribí en ella, con muchas asignaturas comunes ya aprobadas.

En esta carrera fue fundamental el curso de Programación dictado por Victoria Bajar y Julián Aráoz, que se extendía a través de los conjuntos de instrucciones de la Ferranti Mercury (un computador con memoria de longitud de palabra fija, que operaba en un acumulador de aritmética binaria de punto flotante y varios registros de enteros, además de contar con dos tambores para almacenamiento secundario) y su lenguaje cuasi absoluto PIG 2, y de la IBM 1401 (un computador con memoria de caracteres BCD con zona, que operaba carácter a carácter con aritmética decimal, permitiendo procesar campos de diversa longitud determinada por un bit extra denominado “marca de palabra”) y su lenguaje simbólico SPS.

En realidad, el hecho de tener que aprender inicial y casi simultáneamente dos equipos de arquitectura totalmente diferente, me facilitó el desarrollo de cierta capacidad de abstracción que hizo que no encontrase mayores dificultades con los diversos equipos y lenguajes vistos a lo largo de mi vida profesional.

La época y la oportunidad

Tuve la suerte de estudiar e insertarme laboralmente en una época excepcional de desarrollo. En Argentina, el gobierno acababa de crear el CONICET, que impulsó la investigación, así como el INTI y el INTA, que impulsaron un importante desarrollo en industrias PYMES y en la producción agropecuaria. En el mundo, UNESCO convocaba en 1959 a un Congreso Mundial sobre Computación, del cual surgió poco después IFIP, la Federación Internacional para el Procesamiento de la Información, que tuvo su correlato en Argentina en la SAC, Sociedad Argentina del Cálculo, impulsada por entusiastas de la FCEN. Simultáneamente, se creaba IFORS, la Federación Internacional de Sociedades de Investigación Operativa, que tuvo su correlato en SADIO, la Sociedad Argentina de Investigación Operativa, en la que había principalmente ingenieros, pero convivían con gente de ciencias exactas y económicas.

Estas asociaciones organizaban en 1961 un 1er Congreso Argentino de Técnicas Matemáticas aplicadas a la Industria, el Comercio y la Administración Pública, que terminó siendo el evento antecesor de las JAIIOs, Jornadas Argentinas de Informática que aún se vienen realizando y suman más de cuarenta. También ocurrió que SAC, menos formal y más sacudida por los avatares que afectaron a la FCEN, terminó fusionada de hecho con SADIO a partir de 1985, que ya había asumido la representación argentina en IFIP.

Mis primeros trabajos, los equipos que utilicé y algunas particularidades y anécdotas

Aún estudiante, en 1963 me incorporé a Hijos de Ybarra, una empresa aceitera y distribuidora de productos de almacén, en donde intenté reducir costos y mejorar procesos de distribución. Poco después se compró un computador Bull Gamma 10 para reemplazar equipos de registro unitario en el proceso de facturación y cuentas corrientes. El Gamma 10 tenía una memoria de 1024 caracteres, impresora y entrada/salida por tarjetas, sin almacenamiento auxiliar. La memoria rendía porque las instrucciones ocupaban sólo 3 caracteres, con direccionamiento indirecto, ya que los datos se almacenaban en tablas. Después de realizar en absoluto la mayor parte de los programas, descubrimos que había un ensamblador básico que traducía códigos mnemotécnicos y permitía alguna mejora en el direccionamiento de los saltos.
Hay que recordar que esto era antes de julio de 1966, cuando Dijkstra publicó su primera carta criticando el uso del GO TO y proponiendo algo que devino en programación estructurada. Aún recuerdo un artículo humorístico de un Datamation posterior, proponiendo el reemplazo del inadecuado GO TO por un “más moderno y práctico” CAME FROM.

Después de la experiencia de Ybarra, pasé a Acindar, Industria Argentina de Aceros, hoy parte de Arcelor-Mittal, donde participé en proyectos especiales y programé una IBM 1401 de 8k con 4 unidades de cinta magnética. Como la 1401 estaba en Rosario, tuvimos que recurrir a un antecesor del teleprocesamiento, que consistía en enviar cajas con tarjetas perforadas por comisionista y recibir unos días después los listados con los resultados. Para facilitar nuestra programación y automatizar las pruebas en una máquina que no tenía sistema operativo, utilizamos el ensamblador Autocoder, al cual se le podían agregar macroinstrucciones, algunas provistas por IBM, como las macros de entrada/salida del IOCS y otras creadas por nosotros, para evitar errores comunes de programación que se producían por mal alineamiento de los operandos en la división o para leer y enganchar programas. Estas últimas permitían la carga de datos de prueba seguida con la ejecución del programa a probar y la impresión de los datos resultantes a partir de la finalización o interrupción de la prueba, lo que implicaba imprimir tanto los archivos generados como volcar el contenido de memoria formateado en forma legible.

Lo que resultaba sensacional en la 1401 era su compilador Fortran, que cargaba el simbólico en memoria y para compilarlo, iban pasando 52 fases o partes del compilador, cargados desde tarjetas o cinta magnética, hasta generar el programa objeto que podía dejarlo en memoria para ser inmediatamente ejecutado. Obviamente, esto planteaba una seria restricción a la dimensión del programa fuente, no sólo en su extensión sino que había que reducir los nombres de las variables utilizadas para que entrasen más instrucciones. El Fortran traía, además, un monitor elemental, que en una máquina que carecía de sistema operativo, permitía cargar diversos módulos de programas compilados por separado para realizar operaciones de cálculo complejas.


No hay comentarios:

Publicar un comentario

COMENTARIOS SON MÁS QUE BIENVENIDOS. POR FAVOR CON NOMBRE Y APELLIDO. LOS COMENTARIOS AJENOS A LA TEMÁTICA DE ESTE BLOG SERÁN ELIMINADOS.