Fortran
| |
Desendolcador(es) |
IBM y John Backus (es) |
---|---|
Estensión de ficheru |
.f .for .f90 |
Versión inicial | 1957 |
Última versión | Fortran 2023 (, 17 payares 2023) |
Tipu |
llinguaxe de programación, lenguaje de programación estructurada (es) |
Llicencia |
Licencia MIT (es) |
Más información | |
fortranlang | |
Sitiu web | Web oficial |
Códigu fonte | Códigu fonte |
Etiqueta de Stack Exchange | Stack Exchange |
GitHub | fortran-lang |
Fortran (primeramente FORTRAN,[1] contraición del inglés The IBM Mathematical Formula Translating System) ye un llinguaxe de programación d'altu nivel de propósitu xeneral,[2] procedimental[3] 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 el llinguaxe usáu pa programes qu'evalúen el desempeñu (benchmark) y el ranking de los supercomputadores más rápidos del mundu.[4]
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
[editar | editar la fonte]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.[5]
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".[6]
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
[editar | editar la fonte]Delles otres versiones subsiguientes fueron:
- FORTRAN II
- FORTRAN IV
- FORTRAN 66
- FORTRAN 77
- Fortran 90
- Fortran 95
- Fortran 2003
- Fortran 2008
Principales carauterístiques
[editar | editar la fonte]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
[editar | editar la fonte]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
[editar | editar la fonte]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
[editar | editar la fonte]- ↑ 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.
- ↑ 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
Enllaces esternos
[editar | editar la fonte]- 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
[editar | editar la fonte]- Fortran 90 Software Repository
- National HPCC software repository
- Netlib Repository
- más información en pseint