Fortran
Desendolcador(es) | IBMyJohn 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),llinguaxe de programación imperativu,llinguaxe de programación por procedimientos,llinguaxe de programación empobináu a oxetos,lenguaje de programación genérica(es)yarray programming language(en) |
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(primeramenteFORTRAN,[1] contraición delinglésThe IBM MathematicalFormulaTranslating System) ye unllinguaxe de programaciónd'altu nivelde propósitu xeneral,[2]procedimental[3]yimperativu,que ta especialmente afechu alcálculu numbéricuy a lacomputación científica.Desenvueltu orixinalmente porIBMen1957pal equipuIBM 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 lapredicción numbérica del tiempu,analises d'elementos finitos,dinámica de fluyíos computacional(CFD),física computacionalyquímica computacional.Ye unu de los llinguaxes más populares nel área de lacomputación d'altu rendimientuy ye el llinguaxe usáu pa programes qu'evalúen el desempeñu (benchmark) y el ranking de lossupercomputadoresmá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 modularyprogramación empobinada a oxetos(Fortran 90/95), yprogramación xenérica(Fortran 2003).
Historia
[editar|editar la fonte]A finales de 1953,John W. Backussometió una propuesta a los sos superiores enIBMpa desenvolver una alternativa más práutica alllinguaxe ensambladorpa programar elordenador centralIBM 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 me điểu s de 1954 foi terminada una especificación del borrador palIBM Mathematical Formula Translating System.El primer manual de FORTRAN apaeció n'ochobre de1956,porque los veceros yeren ronciegos a usar unllinguaxe de programaciónd'altu nivelnun 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'untipu de datusy de l'aritmética denúmberos complexosamplió 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 IBM709,650,1620,y7090.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óngoto.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 porANS.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:
REGRESIONLLINIAL.FORTRANS
APLICACION
DIMENSIONTIEMPU(1000),PROD(1000)
OPEN(1,FILE='HESTORIA.txt')
I=0
10READ(1,*,END=80)T,P
I=I+1
TIEMPU(.l.)=T
PROD(I)=P
GOTO10
80NDATOS=ICALL
AJULIN(TIEMPU,PROD,NDATOS,A,B)
WRITE(*,90)A,B
90FORMAT('LA ECUACION YE:Y=',F10.2,'+',F10.2,'X')
20FORMAT(20F10.0)
END
SUBROUTINEAJULIN(X,Y,N,A,B)
DIMENSIONX(1),Y(1)
SUMX=0.
SUMY=0.
SUMX2=0.
SUMY2=0
SUMXY=0
DO20I=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))
20CONTINUE
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 archivuASCIIcierta cantidá de pares ordenaos, convocar a una rutina que calcula la recta d'axuste correspondiente, usando'l métodu demí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 languagestandardsnow refer to the language as "Fortran." Because the capitalisation (or lack thereof) of the wordFORTRANwas 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-capsFORTRANin referring to versions of FORTRAN through FORTRAN 77 and the title-capsFortranin referring to versions of Fortran from Fortran 90 onward. This convention is reflected in the capitalization ofFORTRANin theANSIX3.9-1966 (FORTRAN 66) and ANSI X3.9-1978 (FORTRAN 77) standards and the title capsFortranin 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:// top500.org/project/linpack
- ↑http:// softwarepreservation.org/projects/FORTRAN/index.html#By_FORTRAN_project_members
- ↑Fortran creator John Backus dies - Gadgets - MSNBC
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áuen GCC
- GFortran, compilador de Fortran 95 de GNU,software llibre,partedel 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