Programmeringssprog Fortran

Oversigt

Fortran, forkortelse for "Formula Translation," er et højniveau programmeringssprog, der er særligt velegnet til videnskabelige og ingeniørmæssige applikationer. Det var et af de første programmeringssprog, der blev udviklet til elektroniske computere, og det har udviklet sig betydeligt siden sin opfindelse. Fortran muliggør effektiv manipulation af array-data og understøtter komplekse matematiske beregninger, hvilket gør det til et foretrukket sprog til numerisk vejrudsigter, beregningsfysik og bioinformatik, blandt andre områder.

Historiske Aspekter

Oprettelse

Fortran blev udviklet i 1950'erne af IBM som et sprog designet til numeriske beregninger og videnskabelig computing. Den første version, Fortran I, blev udgivet i 1957. Den grundlæggende idé var at skabe et sprog, der ville gøre det muligt for forskere og ingeniører at skrive programmer uden at skulle kende til detaljerne i den underliggende hardware.

Evolution

Efterfølgende versioner af Fortran blev introduceret, hver med nye funktioner og forbedret brugervenlighed. Fortran II fulgte kort efter og tilføjede strukturerede programmeringsfunktioner. I 1966 blev Fortran IV introduceret, som blev en industristandard. Fortran 77 (udgivet i 1978) tilføjede funktioner som tegndatatype og forbedrede I/O-muligheder.

Fra 1991 og frem introducerede Fortran 90 array-programmering, modulær programmering, rekursion og dynamisk hukommelsesallokering. Fortran 2003 og Fortran 2008 forbedrede yderligere sproget med funktioner som objektorienteret programmering og forbedret interoperabilitet med C-programmeringssproget. Den seneste standard, Fortran 2018, bragte yderligere forbedringer, herunder forbedret kompatibilitet og funktionalitet til parallel behandling.

Nuværende Tilstand

Fortran anvendes stadig aktivt inden for mange videnskabelige og ingeniørmæssige discipliner, understøttet af moderne compilere som GNU Fortran (gfortran) og Intel Fortran Compiler. Det har en stor legacy kodebase, og mange videnskabelige biblioteker er skrevet i Fortran, hvilket gør det til et kritisk sprog inden for visse domæner.

Syntaksfunktioner

Stærkt Typet

Fortran er et stærkt typet sprog, der kræver eksplicit erklæring af variabeltyper. For eksempel:

INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name

Array Håndtering

Fortran excellerer i håndtering af arrays, hvilket muliggør operationer på hele arrays med simpel syntaks.

REAL, DIMENSION(10) :: A
A = 2.0 * A  ! Multipliserer hvert element i array A med 2

Kontrolstrukturer

Fortran tilbyder konventionelle kontrolstrukturer som løkker og betingede udsagn.

DO i = 1, 10
   IF (A(i) > 0) THEN
       PRINT *, 'Positiv'
   END IF
END DO

Funktioner og Subrutiner

Fortran tillader definition af funktioner og subrutiner til modulær programmering.

FUNCTION square(x)
   REAL :: square
   REAL, INTENT(IN) :: x
   square = x * x
END FUNCTION square

Implicit Typing

Som standard har Fortran en regel, hvor variabler med navne, der begynder med "I", "J", "K", "L", "M" eller "N", implicit er INTEGER. Dette kan overstyres for klarhed.

IMPLICIT NONE  ! Deaktiverer implicit typning
INTEGER :: I
REAL :: R

Do-While Løkker

Fortran understøtter do-while-løkker til gentagen udførelse baseret på en betingelse.

i = 1
DO WHILE (i <= 10)
   PRINT *, i
   i = i + 1
END DO

Afledte Typer

Fortran har kraftfulde brugerdefinerede typer kendt som afledte typer, som muliggør struktur-lignende datadefinitioner.

TYPE :: Person
   CHARACTER(len=20) :: name
   INTEGER :: age
END TYPE Person

TYPE(Person) :: p1

Modulunderstøttelse

Fortran understøtter moduler til indkapsling af data og procedurer, hvilket fremmer genbrug og organisering af kode.

MODULE myModule
   CONTAINS
   SUBROUTINE mySubroutine()
       ! Implementering
   END SUBROUTINE
END MODULE

Brug af Pointers

Fortran understøtter pointers, som letter dynamisk hukommelsesstyring, ligesom sprog som C.

REAL, POINTER :: pA
ALLOCATE(pA(10))  ! Dynamisk allokering af et array

Interoperabilitet

Fortran har funktioner, der skaber interoperabilitet med C, hvilket muliggør blandet sprogprogrammering.

INTERFACE
   FUNCTION c_function(x) BIND(C, NAME="c_function")
       INTEGER(C_INT) :: c_function(INTEGER)
   END FUNCTION c_function
END INTERFACE

Udviklerværktøjer og Kørselstider

Compilere og Fortolkere

De mest populære Fortran-compilere inkluderer:

Integrerede Udviklingsmiljøer (IDEs)

Selvom Fortran ikke er så almindeligt forbundet med moderne IDE'er som nogle andre sprog, understøtter flere IDE'er det:

Bygning af Projekter

At bygge et Fortran-projekt involverer typisk at oprette kildefiler med en .f, .f90 eller .f95-udvidelse og kompilere dem ved hjælp af en Fortran-compiler. En typisk kommando kunne se sådan ud:

gfortran -o my_program my_source.f90

Anvendelser af Fortran

Fortran anvendes i vid udstrækning inden for videnskabelig computing, numerisk vejrudsigter, klimamodellering, beregningsfysik, beregningskemi og bioinformatik. Det er især kendt for sin ydeevne i tunge numeriske beregninger og simuleringer.

Sammenligning med Lignende Sprog

Fortrans hovedkonkurrenter inden for videnskabelig og ingeniørprogrammering inkluderer:

Tips til Kilde-til-Kilde Oversættelse

Fortran har flere kilde-til-kilde oversættelsesværktøjer, der kan hjælpe udviklere med at konvertere legacy-kode til mere moderne sprog eller optimere eksisterende kode. Nogle værktøjer inkluderer:

Disse værktøjer letter overgangen fra ældre Fortran-versioner eller helt forskellige programmeringsparadigmer, samtidig med at de hjælper med at opretholde ydeevne og funktionalitet.