close

Fortran

Ga naar navigatie Ga naar zoeken
fortran
Fortran logo.svg
IBM en John Backus
https://fortran-lang.org
Algemene informatie
Algemene extensies f, voor en f90
Verscheen in 1957
Ontworpen door John Backus
beïnvloed door snelheidscodering

Fortran (voorheen FORTRAN , [ 1 ] samentrekking van het Engels The IBM Mathematical For mula Tran slating System ) is een algemene, procedurele [ 3 ] , imperatieve programmeertaal op hoog niveau , die speciaal is aangepast aan de numerieke berekeningen en wetenschappelijke berekeningen . Oorspronkelijk ontwikkeld door IBM in 1957 voor de IBM 704-computer , en gebruikt voor wetenschappelijke en technische toepassingen, begon FORTRAN dit gebied van programmeren al vroeg te domineren en is het al meer dan een halve eeuw continu in gebruik in rekenintensieve gebieden. zoals numerieke weersvoorspelling , eindige elementenanalyse , computationele vloeistofdynamica (CFD), computationele fysica en computationele chemie . Het is een van de meest populaire talen op het gebied van high-performance computing en is de taal die wordt gebruikt voor programma's die de prestaties ( benchmark ) en de rangorde van de snelste supercomputers ter wereld evalueren . [ 4 ]

FORTRAN omvat een reeks versies, die elk zijn geëvolueerd om extensies aan de taal toe te voegen, terwijl ze meestal de compatibiliteit met eerdere versies behouden. Opeenvolgende versies hebben ondersteuning toegevoegd voor op tekens gebaseerde gegevensverwerking (FORTRAN 77), array -programmering , modulair programmeren en objectgeoriënteerd programmeren (Fortran 90/95) en generieke programmering (Fortran 2003).

Geschiedenis

Image
FORTRAN-code op een ponskaart , die het gespecialiseerde gebruik van kolommen 1-5, 6 en 73-80 laat zien.

Eind 1953 diende John W. Backus een voorstel in bij zijn superieuren bij IBM om een ​​praktischer alternatief voor assembleertaal te ontwikkelen voor het programmeren van de IBM 704 mainframecomputer . Het historische FORTRAN-team van Backus bestond uit programmeurs Richard Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt en David Sayre. [ 5 ]

Medio 1954 werd een ontwerpspecificatie voor het IBM Mathematical Formula Translating System voltooid . De eerste FORTRAN-handleiding verscheen in oktober 1956 , omdat klanten terughoudend waren om een ​​programmeertaal op hoog niveau te gebruiken , tenzij de compiler code kon genereren waarvan de prestaties vergelijkbaar waren met die van handgeschreven assembleertaalcode.

Hoewel de gemeenschap sceptisch was over deze nieuwe taal, verminderde het het aantal programmeerinstructies dat nodig was om een ​​machine te bedienen met 20 keer, en werd het snel geaccepteerd. Tijdens een interview in 1979 met Think, IBM's werknemersmagazine, zei maker John Backus: "Veel van mijn werk kwam voort uit luiheid. trajecten begon ik te werken aan een programmeersysteem om het schrijven van programma's gemakkelijker te maken. [ 6 ]

De taal werd algemeen aangenomen door wetenschappers voor het schrijven van numeriek intensieve programma's, wat compilerschrijvers aanmoedigde om compilers te produceren die snellere en efficiëntere code konden genereren. De opname van een datatype en complexe rekenkunde in de taal verbreedde het scala aan toepassingen waarvoor de taal bijzonder geschikt was en maakte FORTRAN bijzonder geschikt voor technische toepassingen zoals elektrotechniek.

In 1960 waren er versies van FORTRAN beschikbaar voor de IBM 709- , 650- , 1620- en 7090-computers . De toenemende populariteit van FORTRAN stimuleerde concurrerende computerfabrikanten aanzienlijk om FORTRAN-compilers voor hun machines te leveren, zodat er in 1963 meer dan 40 FORTRAN-compilers bestonden. Om deze redenen wordt FORTRAN beschouwd als de eerste veelgebruikte programmeertaal die wordt ondersteund door verschillende computerarchitecturen.

De ontwikkeling van FORTRAN liep parallel met de vroege evolutie van compilertechnologie. In feite waren veel vorderingen in de compilertheorie en het ontwerp specifiek gemotiveerd door de noodzaak om efficiënte code voor FORTRAN-programma's te genereren.

Versies

Enkele andere latere versies waren:

  • FORTRAN I
  • FORTRANI
  • FORTRAN IV
  • FORTRAN 66
  • FORTRAN 77
  • Fortran 90
  • Fortran 95
  • Fortran 2003
  • Fortran 2008
  • Fortran 2018

Belangrijkste kenmerken

De taal is ontworpen met in het achterhoofd dat programma's zouden worden geschreven op ponskaarten met 80 kolommen. Zo moesten bijvoorbeeld de regels worden genummerd en werd de enige mogelijke wijziging in de volgorde van uitvoering gemaakt met de goto- instructie . Deze functies zijn van versie tot versie geëvolueerd. De huidige bevatten subprogramma's, recursie en een verscheidenheid aan besturingsstructuren .

Voor- en nadelen van de syntaxis

Omdat het een eerste poging was om een ​​programmeertaal op hoog niveau te creëren, heeft het een syntaxis die door veel programmeurs als archaïsch wordt beschouwd en die meer moderne talen leren. Het is moeilijk om een ​​"for"-lus te schrijven, en fouten bij het typen van een enkel teken kunnen leiden tot runtime-fouten in plaats van compilerfouten, als de meest voorkomende constructies niet worden gebruikt. Sommige vroege versies hadden geen functies die als zeer nuttig worden beschouwd, zoals dynamische geheugentoewijzing.

Opgemerkt moet worden dat de Fortran-syntaxis bedoeld was voor gebruik in numeriek en wetenschappelijk werk. Veel van de tekortkomingen zijn verholpen in recente taalherzieningen. Fortran 95 heeft bijvoorbeeld veel kortere opdrachten voor het uitvoeren van matrixberekeningen en heeft typen. Dit verbetert niet alleen de leesbaarheid van het programma aanzienlijk, maar levert ook nuttige informatie op voor de compiler.

Om deze redenen wordt Fortran nauwelijks gebruikt buiten wetenschappelijke gebieden en numerieke analyse, maar het blijft de taal bij uitstek voor het ontwikkelen van krachtige numerieke computertoepassingen.

Specificaties

Er zijn twee gestandaardiseerde versies van de taal.

  • ANSI X3.198-1992 (R1997). Titel: Programmeertaal "Fortran" Uitgebreid . Bekend als Fortran 90. Het is een standaard gepubliceerd door ANS.l. .
  • ISO/IEC 1539-1:1997. Titel: Informatietechnologie - Programmeertalen - Fortran - Deel 1: Basistaal . Bekend als Fortran 95. Ook overgenomen door ANSI .

Hieronder staat de broncode in Fortran-taal van een programma waarmee een lineaire aanpassing of regressie van een reeks gegevens kan worden uitgevoerd:

 LINEAIRE REGRESSIE . FORTRANS 
APPLICATIE 
     DIMENSIE TIJD ( 1000 ), PROD ( 1000 ) 
        OPEN ( 1 , FILE = 'HISTORY.txt' ) 
        I = 0 
 10      READ ( 1 , * , END = 80 ) T , P 
        I = ​​​​I + 1 
        TIME ( .l . ) = T 
        PROD ( I ) = P 
        GA  NAAR  10 
 80      NDATA = IK 
        BEL ADJULIN ( TIME , PROD , NDATA , A , B ) 
        SCHRIJF ( * ) A , B 90 FORMAAT _ _ _ _ =' , F10 .2 , ' +' , F10 .2 , ' X ' ) 20 FORMAAT ( 20 F10 . 0 ) EINDE
      
      
        

        SUBROUTINE AJULIN ( X , Y , N , A , B ) 
         DIMENSIE 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     DOORGAAN 
PROD = SUMX * SUMY B = ( SUMXY - PROD / N ) / ( SUMX2 - SUMX ** 2 / N ) A = ( SUMY / N - B * SUMX / N ) RETOUR        EINDE        
        
        
       

Kortom, in het programma wordt een bepaald aantal geordende paren gelezen uit een ASCII -bestand , een routine wordt aangeroepen die de corresponderende fit-lijn berekent met behulp van de methode van de kleinste kwadraten , en vervolgens de coëfficiënten of parameters van de betreffende regel levert. .

Referenties

  1. Namen van versies vóór FORTRAN 77 worden gewoonlijk met hoofdletters geschreven (FORTRAN 77 was de versie waarin het gebruik van kleine letters in trefwoorden strikt niet-standaard was). Het hoofdlettergebruik is weggelaten bij het verwijzen naar nieuwere versies die beginnen met Fortran 90. De officiële taalnormen verwijzen nu naar de taal als 'Fortran'. Omdat het hoofdlettergebruik (of het ontbreken daarvan) van het woord FORTRAN nooit 100% consistent was in het daadwerkelijke gebruik, en omdat velen gepassioneerde overtuigingen over de kwestie hebben, neemt dit artikel, in plaats van te proberen normatief te zijn, de conventie over van het gebruik van de hoofdletters FORTRAN door te verwijzen naar versies van FORTRAN tot en met FORTRAN 77 en de titel-caps Fortran door te verwijzen naar versies van Fortran vanaf Fortran 90 en later. Deze conventie wordt weerspiegeld in de hoofdlettergebruik van FORTRAN in de ANSI X3.9-1966 (FORTRAN 66) en ANSI X3.9-1978 (FORTRAN 77) normen en de titel caps Fortran in de ANSI X3.198-1992 (Fortran 90) , ISO/IEC 1539-1:1997 (Fortran 95) en ISO/IEC 1539-1:2004 (Fortran 2003) normen.
  2. Sinds FORTRAN 77, dat het CHARACTERgegevenstype introduceerde.
  3. Sinds FORTRAN II (1958).
  4. http://www.top500.org/project/linpack
  5. http://www.softwarepreservation.org/projects/FORTRAN/index.html#By_FORTRAN_project_members
  6. Fortran-maker John Backus sterft - Gadgets - MSNBC.com

Externe links

Programmeerbronnen