You are on page 1of 5

Fortran

Fortran
Fortran (previamente FORTRAN)[1] (contraccin del ingls Formula Translating System) es un lenguaje de programacin alto nivel de propsito general,[2] procedimental[3] e imperativo, que est especialmente adaptado al clculo numrico y a la computacin cientfica. Desarrollado originalmente por IBM en 1957 para el equipo IBM 704, y usado para aplicaciones cientficas y de ingeniera, el FORTRAN vino a dominar esta rea de la programacin desde el principio y ha estado en uso continuo por ms de medio siglo en reas de cmputo intensivo tales como la prediccin numrica del tiempo, anlisis de elementos finitos, dinmica de fluidos computacional (CFD), fsica computacional y qumica computacional. Es uno de los lenguajes ms populares en el rea de la computacin de alto rendimiento y es el lenguaje usado para programas que evalan el desempeo (benchmark) y el ranking de los supercomputadores ms rpidos del mundo.[4] El FORTRAN (una palabra compuesta, derivada de The IBM Mathematical Formula Translating System) abarca un linaje de versiones, cada una de las cuales evolucion para aadir extensiones al lenguaje mientras que usualmente retena compatibilidad con las versiones previas. Versiones sucesivas han aadido soporte para procesamiento de datos basados en caracteres (FORTRAN 77), programacin de arreglos, programacin modular y programacin orientada a objetos (Fortran 90/95), y programacin genrica (Fortran 2003).

Historia
A finales de 1953, John W. Backus someti una propuesta a sus superiores en IBM para desarrollar una alternativa ms prctica al lenguaje ensamblador para programar el computador central IBM 704. El histrico equipo FORTRAN de Backus consisti en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.[5]

A mediados de 1954 fue terminada una especificacin del borrador para The IBM Mathematical Formula Translating System. El primer manual para el FORTRAN apareci en octubre de 1956, porque los clientes eran reacios a usar un lenguaje de programacin de alto nivel a menos que su compilador pudiera generar cdigo cuyo desempeo fuera comparable al de un cdigo hecho a mano en lenguaje ensamblador. Mientras que la comunidad era escptica en que este nuevo mtodo pudiera posiblemente superar la codificacin a mano, ste redujo por un factor de 20 al nmero de sentencias de programacin necesarias para operar una mquina, y rpidamente gan aceptacin. Durante una entrevista en 1979 con Think, la revista de los empleados de IBM, el creador, John Backus, dijo, "Mucho de mi trabajo ha venido de ser perezoso. No me gustaba escribir programas, y por eso, cuando estaba trabajando en el IBM 701 escribiendo programas para computar trayectorias de misiles, comenc el trabajo sobre un sistema de programacin para hacer ms fcil escribir programas".[6] El lenguaje fue ampliamente adoptado por los cientficos para escribir programas numricamente intensivos, que incentiv a los escritores de compiladores a producir compiladores que pudieran generar un cdigo ms rpido y ms eficiente. La inclusin en el lenguaje de un tipo de datos y de la aritmtica de nmeros complejos ampli la gama de aplicaciones para las cuales el lenguaje se adaptaba especialmente e hizo al FORTRAN especialmente adecuado para aplicaciones tcnicas tales como la ingeniera elctrica. Hacia 1960, las versiones de FORTRAN estaban disponibles para los computadores IBM 709, 650, 1620, y 7090. Significativamente, la cada vez mayor popularidad del FORTRAN estimul a fabricantes de computadores de la competencia a proporcionar compiladores FORTRAN para sus mquinas, as que por 1963 existan ms de 40 compiladores FORTRAN. Por estas razones, el FORTRAN es considerado ser el primer lenguaje de programacin

Cdigo FORTRAN en una tarjeta perforada, mostrando el uso especializado de las columnas 1-5, 6 y 73-80.

Fortran ampliamente usado soportado a travs de una variedad de arquitecturas de computador. El desarrollo del FORTRAN fue paralelo a la temprana evolucin de la tecnologa del compilador. De hecho, muchos avances en la teora y el diseo de compiladores fueron motivados especficamente por la necesidad de generar cdigo eficiente para los programas en FORTRAN.

Versiones
Algunas otras versiones subsiguientes fueron: FORTRAN IV FORTRAN 66 FORTRAN 77 Fortran 90 Fortran 95 Fortran 2003 Fortran 2008

Principales caractersticas
El lenguaje fue diseado teniendo en cuenta que los programas seran escritos en tarjetas perforadas de 80 columnas. As por ejemplo, las lneas deban ser numeradas y la nica alteracin posible en el orden de ejecucin era producida con la instruccin goto. Estas caractersticas han evolucionado de versin en versin. Las actuales contienen subprogramas, recursin y una variada gama de estructuras de control.

Ventajas e inconvenientes de su sintaxis


Lo que fue la primera tentativa de proyeccin de un lenguaje de programacin de alto nivel, tiene una sintaxis considerada arcaica por muchos programadores que aprenden lenguajes ms modernos. Es difcil escribir un bucle "for", y errores en la escritura de slo un carcter pueden llevar a errores durante el tiempo de ejecucin en vez de errores de compilacin, en el caso de que no se usen las construcciones ms frecuentes. Algunas de las versiones anteriores no posean facilidades que son consideradas muy tiles, tal como la asignacin dinmica de memoria. Se debe tener en cuenta que la sintaxis de Fortran fue orientada para el uso en trabajos numricos y cientficos. Muchas de sus deficiencias han sido abordadas en revisiones recientes del lenguaje. Por ejemplo, Fortran 95 posee comandos mucho ms breves para efectuar operaciones matemticas con matrices y dispone de tipos. Esto no slo mejora mucho la lectura del programa sino que adems aporta informacin til al compilador. Por estas razones Fortran no es casi usado fuera de los campos cientficos y del anlisis numrico, pero permanece como el lenguaje preferido para desarrollar aplicaciones de computacin numrica de alto rendimiento.

Especificaciones
Existen dos versiones normalizadas del lenguaje. ANSI X3.198-1992 (R1997). Ttulo: Programming Language "Fortran" Extended. Conocida como Fortran 90. Se trata de un estndar publicado por ANSI. ISO/IEC 1539-1:1997. Title: Information technology - Programming languages - Fortran - Part 1: Base language. Conocida como Fortran 95. tambin adoptada por ANSI. A continuacin se muestra el cdigo fuente en lenguaje Fortran de un programa que permite realizar un ajuste o regresin lineal de una serie de datos: REGRESION LINEAL.FORTRANS APLICACION

Fortran DIMENSION TIEMPO(1000),PROD(1000) OPEN(1,FILE='HISTORIA.txt') I=0 READ(1,*,END=80)T,P I=I+1 TIEMPO(I)=T PROD(I)=P GO TO 10 NDATOS=I CALL AJULIN(TIEMPO,PROD,NDATOS,A,B) WRITE(*,90)A,B FORMAT('LA ECUACION ES:Y=',F10.2,'+',F10.2,'X') FORMAT(20F10.0) END

10

80

90 20

20

SUBROUTINE AJULIN(X,Y,N,A,B) DIMENSION X(1),Y(1) SUMX=0. SUMY=0. SUMX2=0. SUMY2=0 SUMXY=0 DO 20 I=1,N SUMX=SUMX+X(I) SUMY=SUMY+Y(I) SUMX2=SUMX2+(X(I)*X(I)) SUMY2=SUMY2+Y(I)**2 SUMXY=SUMXY+(X(I)*Y(I)) CONTINUE PROD=SUMX*SUMY B=(SUMXY-PROD/N)/(SUMX2-SUMX**2/N) A=(SUMY/N-B*SUMX/N) RETURN END

Bsicamente, en el programa se lee desde un archivo ASCII cierta cantidad de pares ordenados, se convoca a una rutina que calcula la recta de ajuste correspondiente, usandor el mtodo de mnimos cuadrados, para luego retornar aportando los coeficientes o parmetros de la recta en cuestin.

Referencias
[1] Los nombres de las versiones anteriores a FORTRAN 77 eran convencionalmente escritas con todas las letras en maysculas (FORTRAN 77 was the version in which the use of lowercase letters in keywords was strictly nonstandard). The capitalization has been dropped in referring to newer versions beginning with Fortran 90. The official language standards now refer to the language as "Fortran." Because the capitalisation (or lack thereof) of the word FORTRAN was never 100% consistent in actual usage, and because many hold impassioned beliefs on the issue, this article, rather than attempt to be normative, adopts the convention of using the all-caps FORTRAN in referring to versions of FORTRAN through FORTRAN 77 and the title-caps Fortran in referring to versions of Fortran from Fortran 90 onward. This convention is reflected in the capitalization of FORTRAN in the ANSI X3.9-1966 (FORTRAN 66) and ANSI X3.9-1978 (FORTRAN 77) standards and the title caps Fortran in the ANSI X3.198-1992 (Fortran 90), ISO/IEC 1539-1:1997 (Fortran 95) and ISO/IEC 1539-1:2004 (Fortran 2003)

Fortran
standards. Since FORTRAN 77, which introduced the CHARACTER data type. Since FORTRAN II (1958). http:/ / www. top500. org/ project/ linpack http:/ / www. softwarepreservation. org/ projects/ FORTRAN/ index. html#By_FORTRAN_project_members Fortran creator John Backus dies - Gadgets - MSNBC.com (http:/ / www. msnbc. msn. com/ id/ 17704662/ )

[2] [3] [4] [5] [6]

Enlaces externos
Fortran DMOZ category (http://dmoz.org/Computers/Programming/Languages/Fortran/) User notes on Fortran Programming (UNFP) (http://www.ibiblio.org/pub/languages/fortran/unfp.html) Unit 7.1 FORTRAN 77 (http://www.aspire.cs.uah.edu/textbook/index_f77.html), part of a textbook Unit 7.2 FORTRAN 90 (http://www.aspire.cs.uah.edu/textbook/index_f90.html), part of a textbook g95 Compilador GNU de Fortran 95 multiplataforma (http://www.g95.org), software libre, basado en GCC GFortran, compilador de Fortran 95 de GNU (http://gcc.gnu.org/wiki/GFortran),software libre, parte del proyecto de GCC Repositorio de paquetes Debian de g95 (http://www.gfd-dennou.org/library/cc-env/g95/index.htm.en), (pgina en ingls) Pgina en espaol sobre G95 (http://tsao.enelparaiso.org/wiki/g95), incluye manual en espaol en pdf. "site" no oficial Proyecto Fortress (http://projectfortress.sun.com/Projects/Community) Fortran 77, 90, 95, 2003 Informacin y Recourses (http://www.fortranplus.co.uk/fortran_info), (pgina en ingls)

Recursos de programacin
Fortran 90 Software Repository (http://www.nag.co.uk/nagware/Examples.asp) National HPCC software repository (http://www.nhse.org/) Netlib Repository (http://www.netlib.org/)

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Fortran Fuente: http://es.wikipedia.org/w/index.php?oldid=66492077 Contribuyentes: Agent.UNE, Airunp, Andre Engels, Ascnder, Avm, Banfield, BuenaGente, Diegusjaimes, Dodo, Edgar, Eldelgas, Elwikipedista, Emiduronte, Gabriboul, GermanX, Gratiman, Jesufer, Jfgarcia, Joshuaralmo, Jotego, Leonpolanco, Locovich, Loparcloba, Lu Tup, Luci turi, Marsal20, Matdrodes, Moriel, Muro de Aguas, Netito777, Nixn, Nstor Alejandro Fernndez De Len, OHFM, Ortisa, Pinar, Plux, Rafa3040, RoyFocker, Rumpelstiltskin, Rutrus, SergioN, Shooke, Stopthetape, Stsp0269, Supermanue, Taty2007, Triku, Txo, Xenoforme, Yabama, Youandme, conversion script, uo Martnez, 140 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:FortranCardPROJ039.agr.jpg Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:FortranCardPROJ039.agr.jpg Licencia: Creative Commons Attribution-Sharealike 2.5 Contribuyentes: Arnold Reinhold

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

You might also like