Ciencia1.com - Ciencia y Tecnología - Ciencia, tecnología, educación y Libertad. Noticias y artículos de ciencia y tecnología, videos e imágenes, blogs de Ciencia y tecnología, directorio y enlaces. Recursos, reportajes, guas, biografías y notas de ciencia y tecnología
Directorio|Noticias|Artículos|Videos|Imágenes|Blog|Libros|Exposiciones    
Traducir/translate:






Artículos | Informáticas | Software

Fortran, o ¡vivan los vagos!

Por Daniel Rodríguez Herrera

Suelo decir a quien quiera escucharme cuando hablo de estos temas –no suelen ser muchos– que una de las principales virtudes de un buen programador es la vaguería. Pero me refiero a una vaguería especial, esa que te hace aborrecer las tareas repetitivas pero quedarte trabajando hasta las tantas en algo que resulta creativo.

Publicado: Miércoles, 5/5/2010 - 23:37  | 3887 visitas.

Imagen: Ecuador Ciencia
Bookmark and Share

Tamaño: Letras NormalesLetras MedianasLetras Grandes

Debemos el primer lenguaje de programación a un señor bien afectado por esa vaguería buena.

El británico Maurice Wilkes, responsable de la construcción de Edsac –la segunda computadora capaz de almacenar los programas en memoria–, pronto se dio cuenta de las dificultades que entrañaba programar un ordenador. Pese a que se había pasado de la necesidad de cambiar cables e interruptores a poder alimentar a las criaturejas con tarjetas perforadas que contenían las instrucciones pertinentes, éstas estaban escritas en binario; y, la verdad, nuestra capacidad de manejar largas series de ceros y unos con éxito es más bien limitadilla. Así pues, creó lo que luego se llamaría lenguaje ensamblador, una serie de instrucciones en texto que luego había que traducir a mano a código binario, pero que permitían programar en papel antes de que el programa fallara estrepitosamente en el ordenador. Así,

T123S

significaba colocar en la posición de memoria 123 el contenido del registro A, y en binario se traducía por

00101000011110110

Wilkes se dio cuenta de que la traducción a binario, trabajo tedioso y propenso a errores, podía hacerlo el propio ordenador, ya que, al fin y al cabo, las letras las representaba internamente como números. Le encargó a un joven matemático de veintiún años llamado David Wheeler la tarea, y éste logró programar un traductor (que luego sería llamado ensamblador), de sólo 30 líneas de código, capaz de leer el programa en texto, traducirlo, ponerlo en memoria y ejecutarlo. Una obra maestra de la ingeniería.

Eso sólo fue el primer paso. Como les sucedería a todos los que construyeron las primeras computadoras, enseguida comprobaron lo difícil que era programar y la de errores que tenían las rutinas, que era como se llamaba entonces a los programas. Curiosamente, nadie había previsto esa dificultad hasta que se dieron de bruces con ella. Así que, para reducir el número de fallos, Wheeler fue encargado de construir una librería de subrutinas que ejecutasen tareas comunes a los programas, como calcular una raíz cuadrada, y que estuvieran libres de fallos y se pudieran reutilizar. A estas cosas se le denominaría, en un alarde de optimismo, programación automática.

John Backus, el vago

Un empleado de IBM de veintinueve años encontraba el proceso de programar las primeras computadoras de la compañía, del modelo 701, bastante aburrido. "Buena parte de mi trabajo ha sido producto de ser vago. No me gusta programar, de modo que, cuando estaba trabajando en el IBM 701 con una aplicación que calculaba trayectorias de misiles, comencé a pensar en un sistema que hiciera más fácil programar", recordaría años después el amigo Backus. Así que a finales de 1953 propuso a sus superiores diseñar un lenguaje informático que facilitara la vida a los programadores. Aceptaron con cierta reticencia, y nuestro héroe se puso a trabajar con un pequeño número de ayudantes.

Tanto el interés como la desconfianza estaban justificados. La creación de un lenguaje informático de alto nivel, como se diría después, supondría un gran ahorro tanto en tiempo de trabajo de los programadores –y sus correspondientes sueldos– como en el entonces carísimo tiempo que los ordenadores tardaban en ejecutar programas con errores... que después debían depurarse. Por otro lado, los intentos que habían tenido lugar hasta ese momento de hacer algo parecido se habían encontrado todos con el mismo escollo: los programas resultantes eran muy lentos, demasiado lentos para ser prácticos, y muchos creían que esa barrera no se podría superar. Así que para IBM resultaba interesante tener abierta esa puerta; pero no tenían tanta confianza como para darle al proyecto mucha prioridad.

Backus sacrificó desde el principio el diseño del lenguaje a la eficiencia de la traducción a código máquina, ese de los unos y los ceros. Era la única vía que podría llevarle, eventualmente, al éxito. Ni a él ni a nadie de su equipo se le ocurrió que, más de cincuenta años más tarde, todavía habría gente usándolo. Después de terminar el diseño del lenguaje en 1954, al año siguiente comenzaron con el traductor, y las fechas límite empezaron a echárseles encima. El primer manual de su lenguaje Fortran (por FORmula TRANslator, traductor de fórmulas) apareció con fecha de octubre de 1956. No estaría terminado hasta abril del año siguiente.

Dos años y medio había durado el proyecto del vago.

Los primeros usuarios de Fortran fueron los programadores de una central nuclear de Maryland. Crearon un primer programa de prueba e intentaron ejecutarlo... para encontrarse con que la impresora sólo les devolvió un mensaje: "El paréntesis derecho no está seguido de una coma". Como no podía ser de otro modo, el primer programa produjo el primer error de sintaxis. Tras corregirlo, el programa estuvo ofreciendo resultados correctos durante los siguientes 22 minutos.

Fortran causó sensación. Backus había triunfado en su objetivo más importante: los programas eran en un 90% tan eficientes como los hechos a mano, una pérdida mínima que quedaba más que subsanada por la reducción del número de errores cometidos y del trabajo que llevaba un programa de semanas a horas o, como mucho, un par de días. La mayor parte de los compradores del IBM 704, la computadora que incluyó Fortran, decidió usarlo, y pronto su equipo, que se había visto forzado a dormir de día y a trabajar de noche para poder emplear las computadoras de IBM que otros usaban a horas decentes, se amplió y comenzó a trabajar en una nueva versión del lenguaje, que saldría en 1959.

Que con Fortran todo fuera más fácil y rápido no significa que estuviera exento de problemas. De hecho, uno de los casos más famosos de desastres provocados por pequeños errores de programación fue protagonizado por este lenguaje. La primera sonda Mariner fue lanzada en julio de 1962, y, tras perder el cohete el contacto con la Tierra, la computadora de a bordo se hizo cargo. Pero el programador olvidó poner una coma y el cohete se desvió en exceso: hubo que hacerlo explotar.

En cualquier caso, tropiezos como éste no impidieron que Fortran se convirtiera poco menos que en la lingua franca informática de científicos e ingenieros. Su última revisión data de 2003, y se sigue empleando asiduamente: sin ir más lejos, en las supercomputadoras más potentes, que entre otras cosas utilizan aplicaciones programadas en él para comparar su rendimiento con las demás máquinas.

Para que luego digan que los vagos no pueden triunfar en la vida.

Publicado originalmente en Libertad Digital (España)

Categorías

» Agregar Enlace
Bitácoras Centros de Descargas Código Libre Drivers Empresas
Emuladores Freeware Por Temas Recuperación de Datos Revisión de Productos
Revistas Shareware Sistemas de Información Geográfica

Enlaces a sitios

Soft MP3
Catálogo en línea de venta de programas de computación, música, MP3 y CD
Idioma: Español / Spanish; Castilian
Solución Informática a Medida (SIAM)
Programas de gestión comercial, para el sector del transporte, telefonía móvil, hostelería, fundaciones y notaría entre otros
Idioma: Español / Spanish; Castilian
TuSoftware.com
Programas y libros de ingeniería de procesos, ambiente, mecánica, química, civil, estructuras, instrumentación y control
Idioma: Español / Spanish; Castilian


Artículos



Imágenes

 


Videos

 


Noticias


Entradas


Libros

 



Home Atrás Arriba


Estamos en:
 Blogalaxia
 Directory of Science Blogs
 

 
Ciencia1.com:
2019 Ciencia1.com - Ciencia y Tecnología. Permitida la reproducción siempre que se señale la fuente y enlace correspondiente a cada material info@ciencia1.com