Fortran, kort for "Formula Translation," er eit høgnivå programmeringsspråk som er spesielt godt eigna for vitenskaplege og ingeniørmessige applikasjonar. Det var eit av dei første programmeringsspråka som blei utvikla for elektroniske datamaskiner og har utvikla seg mykje sidan starten. Fortran gjer det mogleg å effektivt manipulere array-data og støttar komplekse matematiske berekningar, noko som gjer det til eit føretrekt språk for numerisk vêrmelding, beregningsfysikk og bioinformatikk, blant andre felt.
Fortran blei utvikla på 1950-talet av IBM som eit språk designa for numeriske berekningar og vitenskapleg databehandling. Den første versjonen, Fortran I, blei lansert i 1957. Hovudideen var å lage eit språk som ville tillate forskarar og ingeniørar å skrive program utan å måtte kjenne til detaljane i den underliggjande maskinvaren.
Påfølgjande versjonar av Fortran blei introdusert, kvar med nye funksjonar og betre brukervennlegheit. Fortran II kom kort tid etter, og la til strukturerte programmeringsfunksjonar. I 1966 blei Fortran IV introdusert, som blei ein bransjestandard. Fortran 77 (utgitt i 1978) la til funksjonar som teikndata-typar og forbedra I/O-moglegheiter.
Frå 1991 og framover introduserte Fortran 90 array-programmering, modulær programmering, rekursjon og dynamisk minneallokering. Fortran 2003 og Fortran 2008 forbetra språket ytterlegare med funksjonar som objektorientert programmering og betre interoperabilitet med C-programmeringsspråket. Den nyaste standarden, Fortran 2018, innførte ytterlegare forbetringar, inkludert betre kompatibilitet og funksjonalitet for parallell behandling.
Fortran blir framleis aktivt brukt i mange vitenskaplege og ingeniørmessige disiplinar, støtta av moderne kompilatorar som GNU Fortran (gfortran) og Intel Fortran Compiler. Det har ein stor arv av kode, og mange vitenskaplege bibliotek er skrivne i Fortran, noko som gjer det til eit kritisk språk i visse domener.
Fortran er eit sterkt typa språk som krev eksplisitt erklæring av variabeltypar. For eksempel:
INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name
Fortran er flink til å håndtere arrays, og gjer det mogleg å utføre operasjonar på heile arrays med enkel syntaks.
REAL, DIMENSION(10) :: A
A = 2.0 * A ! Multipliserer kvart element av array A med 2
Fortran tilbyr konvensjonelle kontrollstrukturer som løkker og betingingssetningar.
DO i = 1, 10
IF (A(i) > 0) THEN
PRINT *, 'Positiv'
END IF
END DO
Fortran tillater definisjon av funksjonar og subrutinar for modulær programmering.
FUNCTION square(x)
REAL :: square
REAL, INTENT(IN) :: x
square = x * x
END FUNCTION square
Som standard har Fortran ei regel der variablar med namn som byrjar med "I", "J", "K", "L", "M" eller "N" er implisitt INTEGER. Dette kan overstyres for klarheit.
IMPLICIT NONE ! Deaktiverer implisitt typing
INTEGER :: I
REAL :: R
Fortran støttar do-while-løkker for gjentatt utføring basert på ei tilstand.
i = 1
DO WHILE (i <= 10)
PRINT *, i
i = i + 1
END DO
Fortran har kraftige brukardefinerte typar kjent som avledde typar, som tillater struktur-liknande datadefinisjonar.
TYPE :: Person
CHARACTER(len=20) :: name
INTEGER :: age
END TYPE Person
TYPE(Person) :: p1
Fortran støttar moduler for innkapsling av data og prosedyrar, noko som fremjar gjenbruk av kode og organisering.
MODULE myModule
CONTAINS
SUBROUTINE mySubroutine()
! Implementering
END SUBROUTINE
END MODULE
Fortran støttar pekarar som let deg handtere dynamisk minne, liknande språk som C.
REAL, POINTER :: pA
ALLOCATE(pA(10)) ! Dynamisk allokering av ein array
Fortran har funksjonar som skaper interoperabilitet med C, noko som gjer det mogleg med blandingsspråkprogrammering.
INTERFACE
FUNCTION c_function(x) BIND(C, NAME="c_function")
INTEGER(C_INT) :: c_function(INTEGER)
END FUNCTION c_function
END INTERFACE
Dei mest populære Fortran-kompilatorane inkluderer:
Sjølv om Fortran ikkje er så vanleg assosiert med moderne IDE-ar som nokre andre språk, støttar fleire IDE-ar det:
Å bygge eit Fortran-prosjekt involverer typisk å lage kildefiler med .f, .f90, eller .f95 utviding og kompilere dei ved hjelp av ein Fortran-kompilator. Ein typisk kommando kan sjå slik ut:
gfortran -o my_program my_source.f90
Fortran blir mykje brukt i vitenskapleg databehandling, numerisk vêrmelding, klimamodellering, beregningsfysikk, beregningskjemi og bioinformatikk. Det er spesielt kjent for sin ytelse i tunge numeriske berekningar og simuleringar.
Fortran sine hovudkonkurrentar innan vitenskapleg og ingeniørmessig programmering inkluderer:
Fortran har fleire verktøy for kilde-til-kilde oversetting som kan hjelpe utviklarar med å konvertere eldre kode til meir moderne språk eller for å optimalisere eksisterande kode. Nokre verktøy inkluderer:
Desse verktøya let deg enkelt gå frå eldre Fortran-versjonar eller heilt ulike programmeringsparadigmer, samtidig som dei hjelper med å oppretthalde ytelse og funksjonalitet.