Programmeringsspråk Fortran

Översikt

Fortran, förkortning av "Formula Translation," är ett hög-nivå programmeringsspråk som är särskilt väl lämpat för vetenskapliga och ingenjörsmässiga tillämpningar. Det var ett av de första programmeringsspråken som utvecklades för elektroniska datorer och har utvecklats avsevärt sedan sin början. Fortran möjliggör effektiv manipulation av arraydata och stöder komplexa matematiska beräkningar, vilket gör det till ett val av språk för numerisk väderprognos, beräkningsfysik och bioinformatik, bland andra områden.

Historiska Aspekter

Skapelse

Fortran utvecklades på 1950-talet av IBM som ett språk utformat för numeriska beräkningar och vetenskaplig databehandling. Den första versionen, Fortran I, släpptes 1957. Den centrala idén var att skapa ett språk som skulle tillåta forskare och ingenjörer att skriva program utan att behöva känna till detaljerna i den underliggande hårdvaran.

Utveckling

Flera versioner av Fortran introducerades, där varje version lade till nya funktioner och förbättrade användbarheten. Fortran II följde kort därefter och lade till strukturerad programmering. År 1966 introducerades Fortran IV, som blev en branschstandard. Fortran 77 (släppt 1978) lade till funktioner som teckendatatyp och förbättrade I/O-funktioner.

Från och med 1991 introducerade Fortran 90 arrayprogrammering, modulär programmering, rekursion och dynamisk minnesallokering. Fortran 2003 och Fortran 2008 förbättrade språket ytterligare med funktioner som objektorienterad programmering och förbättrad interoperabilitet med C-programmeringsspråket. Den senaste standarden, Fortran 2018, medförde ytterligare förbättringar, inklusive förbättrad kompatibilitet och funktionalitet för parallell bearbetning.

Nuvarande Tillstånd

Fortran används fortfarande aktivt inom många vetenskapliga och ingenjörsmässiga discipliner, stödd av moderna kompilatorer som GNU Fortran (gfortran) och Intel Fortran Compiler. Det har en stor arvskodbas, och många vetenskapliga bibliotek är skrivna i Fortran, vilket gör det till ett kritiskt språk inom vissa områden.

Syntaxfunktioner

Starkt Typat

Fortran är ett starkt typat språk som kräver explicit deklaration av variabeltyper. Till exempel:

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

Arrayhantering

Fortran utmärker sig i hantering av arrayer, vilket möjliggör operationer på hela arrayer med enkel syntax.

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

Kontrollstrukturer

Fortran tillhandahåller konventionella kontrollstrukturer som loopar och villkorssatser.

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

Funktioner och Subrutiner

Fortran tillåter definition av funktioner och subrutiner för modulär programmering.

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

Implicit Typning

Som standard har Fortran en regel där variabler med namn som börjar med "I", "J", "K", "L", "M" eller "N" implicit är INTEGER. Detta kan åsidosättas för tydlighet.

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

Do-While Loopar

Fortran stöder do-while-loopar för upprepad exekvering baserat på ett villkor.

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

Härledda Typer

Fortran har kraftfulla användardefinierade typer kända som härledda typer, vilket möjliggör struktur-liknande datadefinitioner.

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

TYPE(Person) :: p1

Modulstöd

Fortran stöder moduler för inkapsling av data och procedurer, vilket främjar kodåteranvändning och organisation.

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

Användning av Pekare

Fortran stöder pekare som underlättar dynamisk minneshantering, liknande språk som C.

REAL, POINTER :: pA
ALLOCATE(pA(10))  ! Dynamiskt allokera en array

Interoperabilitet

Fortran har funktioner som skapar interoperabilitet med C, vilket möjliggör blandad språkprogrammering.

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

Utvecklarverktyg och Körtider

Kompilatorer och Tolkare

De mest populära Fortran-kompilatorerna inkluderar:

Integrerade Utvecklingsmiljöer (IDE)

Även om Fortran inte är lika vanligt förknippat med moderna IDE:er som vissa andra språk, stöder flera IDE:er det:

Bygga Projekt

Att bygga ett Fortran-projekt involverar vanligtvis att skapa källfiler med en .f, .f90 eller .f95-ändelse och kompilera dem med en Fortran-kompilator. Ett typiskt kommando kan se ut så här:

gfortran -o my_program my_source.f90

Tillämpningar av Fortran

Fortran används i stor utsträckning inom vetenskaplig databehandling, numerisk väderprognos, klimatmodellering, beräkningsfysik, beräkningskemi och bioinformatik. Det är särskilt känt för sin prestanda i tunga numeriska beräkningar och simuleringar.

Jämförelse med Liknande Språk

Fortrans huvudkonkurrenter inom vetenskaplig och ingenjörsmässig programmering inkluderar:

Tips för Käll-till-Källöversättning

Fortran har flera käll-till-källöversättningsverktyg som kan hjälpa utvecklare att konvertera arvskod till mer samtida språk eller optimera befintlig kod. Några verktyg inkluderar:

Dessa verktyg underlättar övergången från äldre Fortran-versioner eller helt andra programmeringsparadigm samtidigt som de hjälper till att bibehålla prestanda och funktionalitet.