Fortran

Fortran (primeramente FORTRAN,Los nomes de les versiones anteriores a FORTRAN 77 son convencionalmente escrites con toles lletres en mayúscules (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) standards.
contraición del inglés The IBM Mathematical Formula Translating System) ye un llinguaxe de programación d'altu nivel de propósitu xeneral,Since FORTRAN 77, which introduced the CHARACTER data type. procedimentalSince FORTRAN II (1958). y imperativu, que ta especialmente afechu al cálculu numbéricu y a la computación científica. Desenvueltu orixinalmente por IBM en 1957 pal equipu IBM 704, y usáu p'aplicaciones científiques y d'inxeniería, el FORTRAN vieno apoderar esta área de la programación dende'l principiu y tuvo n'usu continuu por más de mediu sieglu n'árees de cómputu intensivu tales como la predicción numbérica del tiempu, analises d'elementos finitos, dinámica de fluyíos computacional (CFD), física computacional y química computacional. Ye unu de los llinguaxes más populares nel área de la computación d'altu rendimientu y ye'l llinguaxe usáu pa programes qu'evalúen el desempeñu (benchmark) y el ranking de los supercomputadores más rápidos del mundu.http://www.top500.org/project/linpack

El FORTRAN toma un llinaxe de versiones, caúna de les cuales evolucionó p'añader estensiones al llinguaxe ente que usualmente retenía compatibilidá coles versiones previes. Versiones socesives añadieron soporte pa procesamientu de datos basaos en calteres (FORTRAN 77), programación d'arreglos, programación modular y programación empobinada a oxetos (Fortran 90/95), y programación xenérica (Fortran 2003).

 Historia 

derecha|miniaturadeimagen|Códigu FORTRAN nuna tarxeta furada, amosando l'usu especializáu de les columnes 1-5, 6 y 73-80.

A finales de 1953, John W. Backus sometió una propuesta a los sos superiores en IBM pa desenvolver una alternativa más práutica al llinguaxe ensamblador pa programar el ordenador central IBM 704. L'históricu equipu FORTRAN de Backus consistió n'el programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.http://www.softwarepreservation.org/projects/FORTRAN/index.html#By_FORTRAN_project_members

A mediaos de 1954 foi terminada una especificación del borrador pal IBM Mathematical Formula Translating System. El primer manual de FORTRAN apaeció n'ochobre de 1956, porque los veceros yeren ronciegos a usar un llinguaxe de programación d'altu nivel nun siendo que'l so compilador pudiera xenerar códigu que'l so desempeño fuera comparable al d'un códigu fechu a mano en llinguaxe ensamblador.

Ente que la comunidá yera escéptica en qu'esti nuevu llinguaxe, este amenorgó en 20 vegaes el númberu de sentencies de programación necesaries pa operar una máquina, y rápido ganó aceptación. Mientres una entrevista en 1979 con Think, la revista de los emplegaos de IBM, el creador John Backus, dixo: "Enforma del mio trabayu surdió por ser perezosu. Nun me gustaba escribir programes y por eso, cuando taba trabayando nel IBM 701 escribiendo programes pa computar trayectories de misiles, empecé a trabayar nun sistema de programación pa faer más fácil escribir programes".Fortran creator John Backus dies - Gadgets - MSNBC.com

El llinguaxe foi llargamente adoptáu polos científicos pa escribir programes numbéricamente intensivos, qu'incentivó a los escritores de compiladores a producir compiladores que pudieren xenerar un códigu más rápidu y más eficiente. La inclusión nel llinguaxe d'un tipu de datus y de l'aritmética de númberos complexos amplió la gama d'aplicaciones pa les cualos el llinguaxe afaíase especialmente y fixo al FORTRAN especialmente afechu p'aplicaciones téuniques tales como la inxeniería llétrica.

Escontra 1960, les versiones de FORTRAN taben disponibles pa los ordenadores IBM 709, 650, 1620, y 7090. La cada vez mayor popularidá del FORTRAN aguiyó significativamente a fabricantes d'ordenadores de la competencia a apurrir compiladores FORTRAN pa les sos máquines, asina que allá por 1963 esistíen más de 40 compiladores FORTRAN. Por estes razones, el FORTRAN ye consideráu'l primer llinguaxe de programación llargamente usáu soportáu al traviés d'una variedá d'arquitectures d'ordenador.

El desenvolvimientu del FORTRAN foi paralelu a la temprana evolución de la teunoloxía del compilador. Ello ye que munches meyores na teoría y el diseñu de compiladores fueron motivaos específicamente pola necesidá de xenerar códigu eficiente pa los programes en FORTRAN.

 Versiones 

Delles otres versiones subsiguientes fueron:
 FORTRAN II
 FORTRAN IV
 FORTRAN 66
 FORTRAN 77
 Fortran 90
 Fortran 95
 Fortran 2003
 Fortran 2008

 Principales carauterístiques 

El llinguaxe foi diseñáu teniendo en cuenta que los programes seríen escritos en tarxetes furaes de 80 columnes. Asina por casu, les llinies teníen de ser numberaes y la única alteración posible nel orde d'execución yera producida cola instrucción goto. Estes carauterístiques evolucionaron de versión en versión. Les actuales contienen subprogramas, recursión y una variada gama de [[estructures de control]

 Ventayes ya inconvenientes de la so sintaxis 

Como foi una primer tentativa de creación d'un llinguaxe de programación d'altu nivel, tien una sintaxis considerada arcaica por munchos programadores qu'aprienden llinguaxes más modernos. Ye difícil escribir un bucle "for", y errores na escritura d'un solu calter pueden llevar a errores mientres el tiempu d'execución en cuenta de errores de compilación, nel casu de que nun s'usen les construcciones más frecuentes. Dalgunes de les primeres versiones nun tener facilidaes que son consideraes bien útiles, tal como la asignación dinámica de memoria.

Tien de tenese en cuenta que la sintaxis de Fortran foi empobinada pal usu en trabayos numbéricos y científicos. Munches de los sos defectos fueron encetaes en revisiones recién del llinguaxe. Por casu, Fortran 95 tien comandos muncho más curtios pa efectuar operaciones matemátiques con matrices y dispón de tipos. Esto non solo ameyora enforma la llectura del programa sinón qu'amás apurre información útil al compilador.

Por estes razones Fortran práuticamente nun s'usa fora de los campos científicos y del analís numbéricu, pero permanez como'l llinguaxe preferíu pa desenvolver aplicaciones de computación numbérica d'altu rendimientu.

 Especificaciones 
Esisten dos versiones normalizaes del llinguaxe.
 ANSI X3.198-1992 (R1997). Títulu: Programming Language "Fortran" Extended. Conocida como Fortran 90. Trátase d'un estándar publicáu por ANS.l..
 ISO/IEC 1539-1:1997. Title: Information technology - Programming languages - Fortran - Part 1: Base language. Conocida como Fortran 95. tamién adoptada por ANSI.

De siguío amuésase'l códigu fonte en llinguaxe Fortran d'un programa que dexa realizar un axuste o regresión llinial d'una serie de datos:

REGRESION LLINIAL.FORTRANS
APLICACION
 DIMENSION TIEMPU(1000),PROD(1000)
 OPEN(1,FILE='HESTORIA.txt')
 I=0
 10 READ(1,*,END=80)T,P
 I=I+1
 TIEMPU(.l.)=T
 PROD(I)=P
 GO TO 10
 80 NDATOS=I CALL
 AJULIN(TIEMPU,PROD,NDATOS,A,B)
 WRITE(*,90)A,B
 90 FORMAT('LA ECUACION YE:Y=',F10.2,'+',F10.2,'X')
 20 FORMAT(20F10.0)
 END

 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(.l.)
 SUMY=SUMY+Y(.l.)
 SUMX2=SUMX2+(X(I)*X(.l.))
 SUMY2=SUMY2+Y(I)**2
 SUMXY=SUMXY+(X(I)*Y(I))
 20 CONTINUE
 PROD=SUMX*SUMY
 B=(SUMXY-PROD/N)/(SUMX2-SUMX**2/N)
 A=(SUMY/N-B*SUMX/N)
 RETURN
 END

Básicamente, nel programa lleer dende un archivu ASCII cierta cantidá de pares ordenaos, convocar a una rutina que calcula la recta d'axuste correspondiente, usando'l métodu de mínimos cuadraos, pa depués retornar apurriendo los coeficientes o parámetros de la recta en cuestión.

 Referencies 

 Enllaces esternos 
 Fortran DMOZ category
 User notes on Fortran Programming (UNFP)
 Unit 7.1 FORTRAN 77, part of a textbook
 Unit 7.2 FORTRAN 90, part of a textbook
 g95 Compilador GNU de Fortran 95 multiplataforma, software llibre, basáu en GCC
 GFortran, compilador de Fortran 95 de GNU, software llibre, parte del proyeutu de GCC
 Repositorio de paquetes Debian de g95, (páxina n'inglés)
 Páxina n'español sobre G95 , inclúi manual n'español en pdf. "site" non oficial
 Proyeutu Fortress

 Recursos de programación 
 Fortran 90 Software Repository
 National HPCC software repository
 Netlib Repository
 más información en pseint

Categoría:Llinguaxes de programación
Categoría:Llinguaxes de programación de IBM
Categoría:Llinguaxes compilados
Categoría:Acrónimos d'informática
Categoría:Estándares informáticos
Categoría:Software de 1957