**Fortran** er eit programmeringsspråk og det første høgnivåspråket, sidan
det ikkje var basert på maskinsspråket til maskinen det var laga for, men kunne i prinsippet (og seinare i praksis) blir flytta til og brukt på datamaskinar av ulik type frå den programmet vart utvikla for.

Historie
--------

Fortran vart utvikla av ei gruppe leda av John Backhus, som utvikla den første Fortran-kompilatoren for IBM sin datamaskin modell 704 i perioden 1954-1957. Sjølve namnet er ei forkorting for FORmula TRANslation. Språket vart svært populært, og vart snart brukt til ei rekke formål. Fortrankompilatorar vart utvikla for mange ulike typar datamaskiner. Sidan fortrankompilatorane som vart utvikla ikkje var heilt kompatible, kunne ein ikkje flytte eit program over til ei anna maskin utan å omarbeide det. Med tida oppretta den amerikanske organisasjonen for standarder (ANSI) ein komité som skulle lage ein standard for Fortran, slik at eit Fortranprogram som fylgde standarden skulle kunne fungere på ein kvar Fortrankompilator. Denne kommitéen skulle vore ferdig i 1966, men vart ferdig nokre år seinare. Standarden vart likevel kjend som FORTRAN 66. Seinare kom det utvidingar av standarden kalla FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003 og Fortran 2008.

Fortran var særleg populært i vitskapelege miljø og blant ingeniørar, som i meteorologi, styrkeberekning, styresystem i tungindustri, kraftverk og romfart, men i mindre grad i administrative system. Fortran var det dominerande programeringsspråket i fleire tiår frå det vart utvikla, og er framleis eit av dei vanlegaste programerinsspråka i bruk.

Fortran i dag
-------------

Sjølv om Fortran 90 og seinare versjonar har tilført mange eigenskapar ein ventar seg av moderne programeringsspråk, så blir Fortran likevel rekna av mange som eit gamaldags programeringsspråk. Ein grunn er at det meste av koden som er i bruk i dag, er kode utvikla for lenge sidan, før språket vart modernisert. Historisk sett hadde ein heller ikkje så kraftige datamaskiner som no, slik at det var viktigare at programma var raske enn at dei var lette å forstå. Svært lite ny programvare blir laga i Fortran.

Døme på programmering i Fortran
-------------------------------

### Hei verd!

Eit enkelt døme på å gi ei skjermmelding som kan bli kompilert og køyrt med ein kvar Fortran 90- eller 95-kompilator.

```
program hallo
print*,"Hei verd!"
end program hallo
```

### Arealet til ein sylinder

Dette programmet reknar ut arealet til ein sylinder og kan bli kompilert og køyrt med ein kvar Fortran 90 eller 95 kompilator. Teksten som fylgjer utropsteikn er kommentarar programmet ikkje tek omsyn til.

```
 program sylinder
 ! Rekn ut arealet til ein sylinder.
 !
 ! Declare variables and constants.
 implicit none ! Krever at det blir spurt etter alle variablar, ein Fortran 90-eigenskap.
 integer :: ierr
 real :: radius,height,area
 real , parameter :: pi = 3.14159
 do
 ! Spør brukaren om radius og høgde, og les dei inn.
 write (\*,\*) "Tast inn radius og hoegde, 'q' for aa avslutte."
 read (\*,\*,iostat=ierr) radius,height
 ! 
 ! If radius and height could not be read from input, terminate program.
 if (ierr /= 0) stop "ending program"
 !
 ! Rekn ut arealet. \*\* tyder "opphøg i eksponent".
 area = 2\*pi\*(radius\*\*2 + radius\*height)
 !
 ! Vis innvariablane (radius, height) og resultatet (area) på skjermen.
 write (\*,"(1x,'radius=',f6.2,5x,'height=',f6.2,5x,'area=',f6.2)") radius,height,area
 end do
 end program sylinder

```

| * v
* d
* e
Programmeringsspråk |
| --- |
| ABC**·** Ada**·** AFL**·** Agora**·** ALGOL**·** APL**·** Assembler**·** awk**·** B**·** BASIC**·** BETA**·** BLISS**·** C**·** C++**·** C#**·** Caml**·** Cobol**·** Concurrent C**·** CSP**·** D**·** Delphi**·** Erlang**·** Forth**·** Fortran**·** Haskell**·** HyperTalk**·** Icon**·** INTERCAL**·** Java**·** Lisp**·** Miranda**·** ML**·** Modula**·** NIAL**·** Objektorientert C**·** occam**·** OCaml**·** O'Haskell**·** Pascal**·** Perl**·** PHP**·** Pike**·** PL/I**·** Plankalkül**·** Portal**·** Prolog**·** Python**·** R**·** Ruby**·** Scheme**·** Simula**·** Sina**·** Sisa**·** Smalltalk**·** SML**·** SNOBOL**·** Visual Basic |


|  |  |
| --- | --- |
| Autoritetsdata | 
* WorldCat
* Store norske leksikon
* GND
* LCCN
* BNF
* BNF (data)
* NKC
* BNE
* BBC Things

 |