Fortran
Fortran (prèviament FORTRAN,[1] contracció del anglés Formula Translating, «traducció de fòrmules») és un llenguage de programació d'alt nivell de propòsit general,[2] procedural[3] i imperatiu, que està especialment adaptat al càlcul numèric i a la computació científica. Desenrollat originalment per IBM en 1957 per a l'equip IBM 704, i usat per a aplicacions científiques i d'ingenieria, el FORTRAN va vindre a dominar esta àrea de la programació des del principi i ha estat en us continu per més de mig sigle en àrees de còmput intensiu tals com la predicció numèrica del temps, anàlisis d'elements finitos, dinàmica de decorreguts computacional (CFD), física computacional i química computacional. És un dels llenguages més populars en l'àrea de la computació d'alt rendiment i és el llenguage usat per a programes que evaluen l'eixercite (benchmark) i el rànquing dels supercomputadorés més ràpits del món.[4]
El FORTRAN comprén un linaje de versions, cada una de les quals va evolucionar per a afegir extensions al llenguage mentres que usualment retenia compatibilitat en les versions prèvies. Versions successives han afegit soport per a processament de senyes basades en caràcters (FORTRAN 77), programació de matrius, programació modular i programació orientada a objectes (Fortran 90/95), i programació genèrica (Fortran 2003).
Història
[editar | editar còdic]A finals de 1953, John W. Backus va sometre una proposta als seus superiors en IBM per a desenrollar una alternativa més pràctica al llenguage ensamblador per a programar el computador central IBM 704.[5]<span title="Erro en la seqüencia d'órdens: no existix el mòdul «DecodeEncode».">: Plantilla:R/where L'històric equip FORTRAN de Backus va consistir en els programadors Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt i David Sayre.[6]
A mitan de 1954 va ser terminada una especificació del borrador per al IBM Mathematical Formula Translating System. El primer manual de FORTRAN va ser fet públic el 15 d'octubre de 1956,[7][8] perque els clients eren contraris a usar un llenguage de programació d'alt nivell a menos que el seu compilador poguera generar còdic que el seu eixercite fora comparable al d'un còdic fet a mà en llenguage ensamblador.
Mentres que la comunitat era escèptica sobre este nou llenguage, est va reduir en 20 voltes el número de sentències de programació necessàries per a operar una màquina, i ràpidament va guanyar acceptació. Durant una entrevista en 1979 en Think, la revista dels empleats d'IBM, el creador John Backus, va dir: «Molt del meu treball va sorgir per ser pereós. No m'agradava escriure programes i per això, quan estava treballant en l'IBM 701 escrivint programes per a calcular trayectòries de missils, vaig començar a treballar en un sistema de programació per a fer més fàcil escriure programes».[9]
El llenguage va ser àmpliament adoptat pels científics per a escriure programes numèricament intensius, que va incentivar als escritors de compiladors a produir compiladors que pogueren generar un còdic més ràpit i més eficient. L'inclusió en el llenguage d'un tipo de senyes d'número complejo va ampliar la gama d'aplicacions per a les quals el llenguage s'adaptava especialment i va fer al FORTRAN especialment adequat per a aplicacions tècniques tals com l'ingenieria elèctrica.
Cap a 1960, les versions de FORTRAN estaven disponibles per als computadors IBM 709, 650, 1620 i 7090. La cada volta major popularitat del FORTRAN va estimular significativament a fabricants de computadors de la competència a proporcionar compiladors FORTRAN per a les seues màquines, aixina que allà per 1963 existien més de 40 compiladors FORTRAN. Per estes raons, el FORTRAN és considerat el primer llenguage de programació àmpliament usat soportat a través d'una varietat de #arquitectura de computador.
El desenroll del FORTRAN va ser paralel a la primerenca evolució de la tecnologia del compilador. De fet, molts alvanços en la teoria i el disseny de compiladors varen ser motivats específicament per la necessitat de generar còdic eficient per als programes en FORTRAN.
Orige del nom
[editar | editar còdic]El primer manual de FORTRAN ho descriu com un Sistema Traductor de Fòrmules (Formula Translating System), i mostrava el nom en versalita, FORTRAN.[10][5] Atres fonts sugerixen que el nom significa Traductor de Fòrmules (Formula Translator),[11] o Traducció de Fòrmules (Formula Translation.[12] Els primers ordenadors IBM no soportaven minúscules i els noms de les versions del llenguage fins a FORTRAN 77 s'escrivien normalment en mayúscules[13] (FORTRAN 77 va ser l'última versió en la que el joc de caràcters de Fortran incloïa només mayúscules[14]). Des de Fortran 90, les normes oficials del llenguage Fortran ho denominen «Fortran» en mayúscula inicial.
Versions
[editar | editar còdic]Algunes atres versions subsegüents varen ser:
- FORTRAN I
- FORTRAN II
- FORTRAN IV
- FORTRAN 66
- FORTRAN 77
- Fortran 90
- Fortran 95
- Fortran 2003
- Fortran 2008
- Fortran 2018
Principals característiques
[editar | editar còdic]El llenguage va ser dissenyat tenint en conte que els programes serien escrits en targetes perforades de 80 columnes. Aixina per eixemple, les llínees devien ser numerades i l'única alteració possible en l'orde d'eixecució era produïda en l'instrucció goto. Estes característiques han evolucionat de versió en versió. Les actuals contenen subprogramas, recursión i una variada gama d'estructures de control.
Ventages i inconvenients de la seua sintaxis
[editar | editar còdic]Com va ser una primera tentativa de creació d'un llenguage de programació d'alt nivell, té una sintaxis considerada arcaica per molts programadors que deprenen llenguages més moderns. És difícil escriure un bucle «for», i errors en l'escritura d'un sol caràcter poden dur a errors durant el temps d'eixecució en lloc d'errors de compilació, en el cas de que no s'usen les construccions més freqüents. Algunes de les primeres versions no posseïen facilitats que són considerades molt útils, tal com l'assignació dinàmica de memòria.
Es deu tindre en conte que la sintaxis de Fortran va ser orientada per a l'us en treballs numèrics i científics. Moltes de les seues deficiències han segut abordades en revisions recents del llenguage. Per eixemple, Fortran 95 posseïx comandos molt més breus per a efectuar operacions matemàtiques en matrius i dispon de tipos. Açò no solament millora molt la llectura del programa sino que ademés aporta informació útil al compilador.
Per estes raons Fortran pràcticament no s'usa fòra dels camps científics i de l'anàlisis numèric, pero permaneix com el llenguage preferit per a desenrollar aplicacions de computació numèrica d'alt rendiment.
Especificacions
[editar | editar còdic]Existixen dos versions normalisades del llenguage.
- ANSI X3.198-1992 (R1997). Títul: Programming Language “Fortran” #Estendre. Coneguda com Fortran 90. Es tracta d'un estàndart publicat per ANSI.
- ISO/IEC 1539-1:1997. Title: Information technology - Programming languages - Fortran - Part 1: Base language. Coneguda com Fortran 95. també adoptada per ANSI.
A continuació es mostra el còdic font en llenguage Fortran d'un programa que permet realisar un ajust o regressió llineal d'una série de senyes:
REGRESION LLINEAL.FORTRANS
APLICACION
DIMENSION TEMPS(1000),PROD(1000)
OPEN(1,FILE='HISTÒRIA.txt')
I=0
10 READ(1,*,END=80)T,P
I=I+1
TEMPS(.l.)=T
PROD(I)=P
GO TO 10
80 NDATOS=I
CALL AJULIN(TEMPS,PROD,NDATOS,A,B)
WRITE(*,90)A,B
90 FORMAT('LA ECUACION ÉS:I=',F10.2,'+',F10.2,'X')
20 FORMAT(20F10.0)
END
SUBROUTINE AJULIN(X,I,N,A,B)
DIMENSION X(1),I(1)
SUMX=0.
SUMY=0.
SUMX2=0.
SUMY2=0
SUMXY=0
DO 20 I=1,N
SUMX=SUMX+X(.l.)
SUMY=SUMY+I(.l.)
SUMX2=SUMX2+(X(I)X(.l.))
SUMY2=SUMY2+I(I)**2
SUMXY=SUMXY+(X(I)I(I))
20 CONTINUE
PROD=SUMX*SUMY
B=(SUMXY-PROD/N)/(SUMX2-SUMX**2/N)
A=(SUMY/N-B*SUMX/N)
RETURN
ENDBàsicament, en el programa es llig des d'un archiu ASCII certa cantitat de parells ordenats, es convoca a una rutina que calcula la recta d'ajust corresponent, usant el método de mínims quadrats, per a després retornar aportant els coeficients o paràmetros de la recta en qüestió.
Portabilitat
[editar | editar còdic]La portabilitat era un problema en els primers temps perque no hi havia un estàndart acordat -ni tan sols el manual de referència d'IBM- i les empreses informàtiques competien per diferenciar les seues ofertes de les dels demés oferint característiques incompatibles. Els estàndarts han millorat la portabilitat. L'estàndart de 1966 proporcionava una sintaxis i una semàntica de referència, pero els venedors seguien proporcionant extensions incompatibles. Encara que els programadors cuidadosos es donaven conte de que l'us d'extensions incompatibles causava costosos problemes de portabilitat, i per això utilisaven programes com The PFORT Verifier,[15] no va ser fins al cap de la norma de 1977, quan l'Oficina Nacional d'Estàndarts (ara NIST) va publicar FIPS PUB 69, que els processadors comprats pel Govern d'Estats Units devien diagnosticar les extensions de la norma. En lloc d'oferir dos processadors, essencialment cada compilador finalment tenia a lo manco una opció per a diagnosticar extensions.[16]
Les extensions incompatibles no eren l'únic problema de portabilitat. Per als càlculs numèrics, és important tindre en conte les característiques de l'aritmètica. Açò va ser abordat per Fox et al. en el context de l'estàndart de 1966 per la biblioteca PORT.[15] Les idees en ella es varen utilisar àmpliament, i finalment es varen incorporar en l'estàndart de 1990 per mig de funcions intrínseques de consulta. L'adopció generalisada (ara casi universal) de l'estàndart IEEE 754 per a l'aritmètica binaria de punt flotant ha eliminat essencialment este problema.
L'accés a l'entorn informàtic (per eixemple, la llínea de comandos del programa, les variables d'entorn, l'explicació textual de les condicions d'error) va seguir sent un problema fins que va ser abordat per la norma de 2003.
Grans coleccions de software de biblioteca que podrien descriure's com vagament relacionades en l'ingenieria i els càlculs científics, com les biblioteques de gràfics, s'han escrit en C, i per lo tant l'accés a elles presentava un problema de portabilitat. Açò s'ha solucionat en l'incorporació de la interoperabilidad de C en la norma de 2003.
Ara és possible (i relativament fàcil) escriure un programa totalment portable en Fortran, inclús sense recórrer a un preprocesador.
Referències
[editar | editar còdic]- ↑ Abans de 1977 el nom del llenguage s'escrivia de forma convencional en totes les lletres en mayúscula. En l'any 1977 l'us de lletres minúscules en les paraules clau va deixar de formar part de l'estàndart. L'us distint de mayúscules i minúscules en el nom es va eliminar a partir de Fortran 90. En l'actualitat, els manuals i estàndarts oficials del llenguage es referixen a ell com «Fortran» (aixina escrit, en la primera lletra en mayúscula i el restant en minúscules). Degut a que l'us de mayúscules en la paraula FORTRAN (o la seua absència) mai va ser 100 % consistent en l'us real a lo llarc del temps, i ya que moltes persones tenen creències apassionades sobre el tema, este artícul, en lloc d'intentar ser normatiu al respecte, adoptarà la convenció d'usar «FORTRAN» tot en mayúscules per a referir-se a les versions del llenguage fins a l'any 1977, i deixar el nom «Fortran» (en la seua forma moderna) per a referir-se a les versions del llenguage des de l'any 1990 en avant. Esta convenció és la que es reflectix en el nom del llenguage que s'usa en els estàndarts ANSI X3.9-1966 (FORTRAN 66) i ANSI X3.9-1978 (FORTRAN 77), aixina com en els estàndarts ANSI X3.198-1992 (Fortran 90), ISO/IEC 1539-1:1997 (Fortran 95) i ISO/IEC 1539-1:2004 (Fortran 2003).
- ↑ Des de FORTRAN 77, que va introduir el tipo de senyes
CHARACTER. - ↑ Des de FORTRAN II (1958).
- ↑ http://www.top500.org/project/linpack
- ↑ 5,0 5,1 “The History of Fortran I, II, and III” . IEEE Annals of the History of Computing 20 (4): 68–78. doi:. [1][2]
- ↑ http://www.softwarepreservation.org/projects/fortran/index.html#By_FORTRAN_project_members
- ↑ «October 15: First FORTRAN Reference Manual is Released | This Day in History | Computer History Museum». www.computerhistory.org. Archivat des d'el original, el 2010-03-11. Consultat el 2025-09-15. «El primer manual de referència de FORTRAN es va publicar el 15 d'octubre de 1956, sis mesos abans del llançament del primer compilador. En sol 60 pàgines, lletra gran i amplis màrgens, aquell primer llenguage de programació era minúscul per a l'estàndart actual.»
- ↑ Backus, John Warner; MITCHELL, {{{nom2}}}; BEEBER, {{{nom3}}}; NELSON, {{{nom4}}} (1956). Fortran, Programmer's Reference Manual (en en-us), p. 1.
- ↑ Fortran creator John Backus dies - Gadgets - MSNBC.com
- ↑ The FORTRAN Automatic Coding System for the IBM 704 EDPM: Programmer's Reference Manual, New York, USA: Applied Science Division and Programming Research Department, International Business Machines Corporation, pp. 2, 19–20. (2+51+1 pages)
- ↑ «FORTRAN: The Pioneering Programming Language».
- ↑ Erro en la seqüencia d'órdens: no existix el mòdul «Citas».
- ↑ Chapman, Stephen J.. Fortran for Scientists and Engineers, Fourth edició, New York: McGraw-Hill Education, p. 13. ISBN 978-0-07-338589-1.
- ↑ El «joc de caràcters Fortran» definit per l'estàndart FORTRAN 77 era el joc de caràcters mínim que els compiladors compatibles en l'estàndart devien soportar. En la pràctica, molts compiladors FORTRAN 77 soportaven el joc de caràcters complet ASCII.
- ↑ 15,0 15,1 Erro en la cita: L'element
<ref>no és vàlit; puix no n'hi ha una referència en text nomenadaPP4 - ↑ “Un Fortran independent de la màquina i la configuració: Portable Fortran {PFortran}” (1975). IEEE Transactions on Software Engineering ES-1 (1): 111-124. Institute of Electrical and Electronics Engineers (IEEE). doi:. ISSN 0098-5589.
Enllaços externs
[editar | editar còdic]- 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 [3] archivat en Wayback Machine., software lliure, basat en GCC
- GFortran, compilador de Fortran 95 de GNU, software lliure, part del proyecte de GCC
- Repositori de paquets Debian de g95, (pàgina en anglés)
- Pàgina en espanyol sobre G95 , inclou manual en espanyol en pdf. "site" no oficial
- Proyecte Fortress
Recursos de programació
[editar | editar còdic][[Categoria:#Acrònim d'informàtica]]
Referències
[editar | editar còdic]- Este artícul conté una traducció derivada de «Fortran» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.
- Pàgines en erros en seqüencies d'órdens
- Pàgines en erros de resaltat de sintaxis
- Pàgines en erros de referència
- Llenguages de programació per procediments
- Llenguages de programació d'IBM
- Llenguages compilados
- Estàndarts informàtics
- Software de 1957
- Ferramentes de programació per a Unix
- Acrònims d'informàtica
- Estàndards informàtics
- Eines de programació per a Unix