50 años con Fortran

Este es un pequeño homenaje que he decidido a hacer al primer lenguaje de programación de alto nivel que luego fue padre de otros muchos como Algol y todos los que vinieron detrás de este: Basic, Pascal, Simula, etc etc.

En una época, donde programar las máquinas para hacer cálculo científicos eran un auténtico latazo ya que se tenían que cargar las instrucciones en las computadoras mediante un código-máquina lenguaje que describe cada operación aritmética en un orden preciso, surgió la idea de crear un lenguaje que fuera más sencillo de comprender que aquellas arcaicas operaciones máquina. De este modo, nació lo que hoy conocemos como Fortran.

En 1954 un equipo de investigadores de IBM al frende de John Backus se lanzó a la creación de Fortran y años más tarde consiguieron acabar el lenguaje creadon el primer compilador comercial.

Fortran fue un lenguaje diseñado para ser utilizado principalmente en aplicaciones científicas y de análisis numérico y por ello el nombre de Fortran("Formula Translator").

Según se puede leer en la wikipedia, las últimas versiones de Fortran han dado soporte a la POO.

Yo soy demasiado joven para haber podido usar Fortran ni he centrado mis esfuerzos en el análisis numérico, pero esta claro que este lenguaje supuso un antes y un después en la computación, por ello me gustaría recordar este lenguaje con un simple programa escrito en Fortran 90.

He aquí un ejemplo que he encontrado por la web. Este simple programa permite calcular el volumen, y área de una esfera dado su radio.

PROGRAM sphere

IMPLICIT NONE

! This program will find the surface area and volume of a sphere, given
! its radius.

! Variable declarations
REAL :: rad, area, volume, pi

! Assign a value to the variable pi.
pi = 3.141593

! Input the value of the radius and echo the inputted value.
PRINT *, "Enter the radius of the sphere."
READ *, rad
PRINT *, rad, " is the value of the radius"

! Compute the surface area and volume of the sphere.
area = 4.0 * pi * rad**2
volume = (4.0/3.0) * pi * rad**3

! Print the values of the radius (given in cm), surface area (sq cm),
! and volume (cubic cm).
PRINT *,"In a sphere of radius",rad
PRINT *,"the surface area is", area," and the volume is", volume

STOP

END PROGRAM sphere

Como veis, es un lenguaje que satisfacía plenamente su propósito. Así que lo único que me queda decir es que espero que siga mejorándose y siga facilitando el trabajo a los investigadores que lo usan para sus cálculos matemáticos.

17 comentarios:

  Dani

29 de diciembre de 2007, 15:48

Yo sí que he usado Fortran para Análisis Numérico en la carrera :-). En la actualidad trabajo en una empresa americana fundada por uno de los padres del Fortran (CSC, Roy Nutt). Y programo en lenguaje ABAP que tiene cierto aire al Fortran.
Así que me uno a la celebración.

  Alginros

29 de diciembre de 2007, 17:36

Me alegro por tí, ;) Yo no he usado Fortran, pero eso no significa que merezca todos mis respetos, jeje.

Saludos

  Enrique

29 de diciembre de 2007, 23:49

Yo casi que uso f90 todos los días, para programar en paralelo junto con las librerías de mpi. Estoy mucho más habituado a IDL, así que el f90 me parece un poco tedioso, pero es muy robusto y bueno hace todo lo que te venga en gana, de una manera relativamente fácil, para el cálculo en simulaciones numéricas.

  Anónimo

30 de diciembre de 2007, 10:38

>>Yo soy demasiado joven para haber podido
>>usar Fortran...

¿Eres demasiado joven para programar? Por lo que yo sé Fortran se sigue utilizando (y no sólo los nostálgicos lo utilizan).

"You can write FORTRAN in any language"

  Alginros

30 de diciembre de 2007, 11:42

@Anonimo. No, claro que programo (más de lo que yo quisiera). Lo que yo pretendía decir es que Fortran es un lenguaje que actualmente solo es usado para análisis numérico. Algo que no es mi especialidad. Además, no sé en vuestras facultades, pero que yo sepa en la mía no se da Fortran (no digo que se haya podido dar, me refiero en la actualidad).

Y otra cosa más. Cuando me refería a joven quería decir que si tuviera 40 años más y estuviera estudiando lo mismo, con mucha probabilidad hubiera usado Fortran ya que por aquel entonces era de los poquitos lenguajes existentes. Veo que no me has entendido bien, jeje.

  Carlos

30 de diciembre de 2007, 12:53

Soy un viejo programador y utilice fortran, cobol, rpg, assembler, etc, actualmente lo hago en natural sobre adabas y recuerdo la epoca de fortran con mucho respeto(1972),nos sacó de mas de una dificultad a pesar de la lentitud de los procesadores de aquel entonces y su escasa memoria (64k), ME LLAMO CARLOS Y TENGO 67 AÑOS

  Alginros

30 de diciembre de 2007, 13:32

@Carlos: Es usted ya un gran conocedor del tema. Me alegro que gente como usted participe expresando su opinión ya que pueden aportar grandes cosas con su experiencia.

Un saludo

  jmcl

30 de diciembre de 2007, 14:12

Buenos días a todos.
Yo trabajo en C++ pero tengo compañeros que trabajan en Fortran ( Cálculo numérico).

Creo que el Fortran ha cumplido su papel ( y muy bien por cierto ) pero en mi opinion para proyectos grandes debe renovarse.

Fortran debe incluir la orientación a objeto ( creo que las nuevas especificaciones la van a traer )... esto es vital para su supervivencia.

Carlos , mis respetos , encontrar a una persona de su experiencia es un placer... sobre todo en este país que considera la programación como el último escalon profesional... en este país ( mi experiencia) no se valora la experiencia en el desarrollo de software... se considera que para eso vale cualquier titulado recien salido de la carrera

  Alginros

30 de diciembre de 2007, 22:59

@jmcl: Según la wikipedia, desde Fortran 9x se soporta orientación a objetos, ;).

  JuanMa

31 de diciembre de 2007, 3:03

Me uno a la celebración desde el uso diario que hago del mismo. Estoy acabando mi tesis doctoral y todos los programas de cálculo están escritos en Fortran'90. Me dedico a la Química Teórica. La verdad es que es un lenguaje muy intuitivo. El problema viene por el soporte POO bastante rudimentario que tiene y que hay veces que te complica un poco la vida.
Fortran se sigue utilizando en muchos campos de la investigación, básicamente muchos algoritmos se han desarrollado para él y es un poco coñazo reescribir funciones y acciones. Por ejemplo el programa más utilizado en Química Teórica (Gaussian) tiene más de 1 millón de líneas de código, todas en F77.

  José Luis Castrejón

31 de diciembre de 2007, 4:01

En mi tesis de maestría tuve que hacer algunos programas que necesitaban mucha precisión numérica. El Fortran era el lenguaje más adecuado por la aritmética de punto flotante y de doble precición que utiliza. También recuerdo mis cursos en los años 1980's en la facultad de ciencias de la UNAM, que bueno saber de este homenaje.

  The Spanish

31 de diciembre de 2007, 10:09

Hola soy Alejandro, en realidad no use Fortran, solo Basic, pero mi compañero de piso, quien estudiaba Ing. Civil, lo estudiaba y usaba continuamente, ahi aprendi algo por ahi por el 84.
Saludos desde "La finis terrae"

  Anónimo

8 de enero de 2008, 17:34

Hola.
Me llamo Sergio y soy Licenciado en CC. Físicas.
En mi primer curso universitario tuve una asignatura denominada "Métodos computacionales en Física". En ella nos enseñaban a programar en Fortran 77.
Era una maravilla, ver esa precisión numérica.
Vale que no tendría POO, pero aún así es una maravilla. Pienso que todo el mundo debería conocer un lenguaje antiguo, porque llegado el momento puede ser muy útil.
Yo lo utilicé sobre todo para cálculos de astronomía de posición.
Un saludo.

  Anónimo

24 de febrero de 2008, 13:29

Soy Luis de La Plata-Argentina
Mi viejo uso Fortran, era Dr. en Ciencias Fisicomatematicas (Dr. Luis Boggia) y era una herramienta mas de su trabajo. Yo aprendi Fortran junto a él hace ya varios años cuando me pidio lo ayudar a convertir esos programas de calculo al Basic (que por aquel entonces ya se veia avanzar a pasos agigantados), para analizar y ver la factibilidad de uso de esos programas en las primeras PC que corrian bajo CP/M.
Me uno en memoria de mi viejo.

  Anónimo

27 de junio de 2008, 10:19

Bueno, veo aqui muchos elogios a la precisión de Fortran, y ya no se si preguntar lo que quería preguntar. Quería saber si había algún lenguaje que me permitiera usar mas de 80 bits,e.d., que me lleve a mas de 18 digitos de precisión. Bueno, si existe. Un saludo a todos.

  Anónimo

2 de diciembre de 2008, 18:37

Pues no creo que sea una cuestión de edad. Tengo 37 años, me dedico a la investigación científica, tengo mas de 20 artículos en revistas internacionales, y todos ellos se han basado en programación en FORTRAN 77. Y os aseguro que no soy el único, en mi campo lo usa todo el mundo. No digo que sea el mejor programa del mundo, pero para lo que yo hago (simulación molecular), sobra.

Larga vida al FORTRAN77

  Anónimo

28 de enero de 2009, 17:21

hola a todos ,me estoy iniciando en fortran pro no domino mucho ,me gustaria q me ayudaran en hacer un programa en fortran acerca de la probabilidad ;
se trata de dar con la probabilidad de un borracho en dos dimenciones xy para ver cual es la probabilidad de q el borracho baya ya sea por x o por y
estare esperando su ayuda ,selos agadeceria adikbar@hotmail.com