Fortran
| fortran | ||
|---|---|---|
|
| ||
|
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
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
- ↑ 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.
- ↑ Sinds FORTRAN 77, dat het
CHARACTERgegevenstype introduceerde. - ↑ Sinds FORTRAN II (1958).
- ↑ http://www.top500.org/project/linpack
- ↑ http://www.softwarepreservation.org/projects/FORTRAN/index.html#By_FORTRAN_project_members
- ↑ Fortran-maker John Backus sterft - Gadgets - MSNBC.com
Externe links
- Fortran DMOZ-categorie
- Gebruikersnotities over Fortran-programmering (UNFP)
- Unit 7.1 FORTRAN 77 , onderdeel van een leerboek
- Unit 7.2 FORTRAN 90 , onderdeel van een leerboek
- g95 Cross-platform GNU Fortran 95-compiler , gratis software, gebaseerd op GCC
- GFortran, GNU Fortran 95-compiler , gratis software, onderdeel van het GCC-project
- g95 Debian Pakketrepository , (Engelse pagina)
- Pagina in het Spaans over G95 , inclusief handleiding in het Spaans in pdf. onofficiële site
- Project Fort