domingo, 29 de noviembre de 2015

Compiladores Fortran

Tomando en cuenta que Fortran es uno de los lenguajes de programación de alto nivel más antiguos y que su desarrollo y uso se mantiene, es razonable que existan varios compiladores disponibles, tanto OpenSource como Comerciales.

Una lista parcial podría ser la siguiente:
  • gfortran : Es el fortran de gnu-gcc (2003) basado en los estandares fortran 90/95/2003/2008. Un desarrollo alternativo a g95 de Andrew Vaught. Su desarrollo se mantiene como parte del proyecto gnu-gcc.
  • g95 : Compilador desarrollado a partir del año 2000 por Andrew Vaught y basado en gnu-gcc. En el año 2002 dejó de ser un proyecto colaborativo, dando inicio en el año 2003 al desarroloo de gfortran. Su principal desarrollador abandonó el proyecto y desde el año 2012 se ha mantenido sin actualizaciones.
  • g77 : Primer compilador fortran basado en gnu-gcc con el estandard Fortran-77. Su desarrollo se detuvo antes de la versión gcc 4.0. Fué sustituido por gfortran.
  • Ifortran  (Comercial): Compilador de Intel. Según la opinión generalizada es el compilador fortran mas eficiente en la actualidad .
  • PathScale (Comercial)
  • PGI  (Comercial)
  • FTN95 (Comercial)

jueves, 26 de noviembre de 2015

Fortran, ese viejo desconocido

Como estudiante de Ingeniería Electrónica me tocó  tomar un curso de Cálculo Numérico, cuyo objetivo (asumo) era que los futuros ingenieros tuviesen  una idea básica de lo que es un lenguaje de programación y además que pudiesen adquirir conocimientos y métodos de programación.
No voy a decir en que año fué , pero si  puedo decir que el lenguaje utilizado era FORTRAN IV (en mayúsculas).
Han pasado muchos años desde entonces y por cosas de la vida la mayor parte de mi época profesional ha sido no como Ingeniero Electrónico si no como Ingeniero de Sistemas.
A lo largo de estos años he programado en diferentes lenguajes: assembler, turbo pascal, foxpro, delphi, multibase, php, perl, etc, sin embargo no había vuelto a tener ningún contacto con FORTRAN.
Sinceramente tenía la idea de que era un lenguaje muerto, algo asi como el latín ...
Y para mi sorpresa no sólo está vivo y goza de buena salud, sino que hoy en día este lenguaje a cambiado tanto que ya ni se escribe como antes , ahora es Fortran !!!

Al leer un artículo sobre supercomputación quedé sorprendido de que el autor afirmaba que algo asi como el 50% del código que se ejecuta en los superordenadores de hoy en día (clusters) corresponde a Fortran, y no solo eso, hay  librerias que tienen mas de 30 años usándose (por ejemplo LAPACK o alguna de sus descendientes).
Esta "revelación" me hizo investigar mas sobre el tema y lo cierto es que el Fortran actual es muy diferente al que yo estudié, es un lenguaje muy fácil de aprender (casi un super basic), actualizado con las prestaciones de lenguajes "modernos"  y conservando su característica original : muy eficiente para cálculos numéricos.
Como suele ocurrir con casi  todos los lenguajes de programación actualmente, existen muchas implementaciones del mismo , tanto comerciales como OpenSource, y con versiones para casi todos los sistemas operativos. 
Decidí instalar en mi ordenador el gfortran, una de las versiones OpenSource mas populares.
Confieso que quedé impresionado al compilar programas y librerias de hace mas de 30 años y no solo no ver ningún error de compilación, sino que además los programas se ejecutaban correctamente !!!
Eso si es compatibilidad ...
Y asumo que ahí radica una de las principales razones por las  que este viejo desconocido esté vivo y goce de buena salud.
Larga vida al Fortran !!!