Movatterモバイル変換


[0]ホーム

URL:


Hopp til innhold
Wikipedia
Søk

Fortran

Fra Wikipedia, den frie encyklopedi
Fortran
Tilblivelse1957
Paradigme
Designet avJohn Backus
Utviklet avIBM,John Backus
Siste versjon(er)Fortran 2023
Typetildeling manifest, statisk, sterk
Filendelse(r).f, .for, .f90
LisensMIT-lisensen
Påvirket av
Speedcoding
Hullkort med Fortrankode, fra København universitet i begynnelsen av 1970-tallet
Foto: Hans Andersen

Fortran, tidligere kaltFORTRAN (FORmulaTRANslation), blir ofte ansett som det førsteprogrammeringsspråket, siden det i prinsippet (og senere også i praksis) var portabelt. Fortran var uavhengig av datamaskinens maskinspråk, og kunne benyttes av ulike datamaskinarkitekturer.

Historie

[rediger |rediger kilde]

1950-tallet var utviklingen avkompilatorer en svært vanskelig oppgave. En gruppe ledet avJohn Backus brukte 18 år på å utvikle Fortran.[1]

Høsten1953 foreslo Backus overfor sin ledelse iIBM å utvikle et praktisk alternativ tilassemblerspråk for å programmere den nyestormaskinenIBM 704. Første utkast til spesifikasjonThe IBM Mathematical Formula Translating System (IBMs matematisk formeloversettelsessystem) forelå sommeren1954. Den førstekompilatoren ble lansert april1957. Behovet forinstrukser for å operere en datamaskin ble redusert med faktor 20, og språket ble raskt akseptert.

Erfaringene med utviklingen av Fortran bidro til en kontekstfri grammatikk som ble banebrytende for senere høynivåspråk i form avBackus–Naur-formen. En lignende grammatikk ble foreslått i1956.[2] Mangelen på formaliserte definisjoner av syntaks, skapte problemer da tidligere utviklere av Fortran forlotIBM. Da Backus utvikletAlgol-58, adopterte han syntaks-regler[3] for Fortran og senere programmeringsspråk, som var basert påPāṇinissanskrit-grammatikk.[4]

Fortran ble svært populært og ble snart brukt til en rekke formål. Fortrankompilatorer ble utviklet for mange ulike typer datamaskiner. Siden Fortrankompilatorene som ble utviklet ikke var fullstendig kompatible med hverandre kunne man ikke lenger flytte et program fra en maskin til en annen uten å omarbeide det først. Dette førte til en rekke Fortran-dialekter. Med tiden opprettet denamerikanske organisasjonen for standarder (ANSI) en komité for å standardisere Fortran for å sikre portabiliteten til et Fortranprogram, altså slik at man skulle kunne bruke en hvilken som helst datamaskin og kompilator uten å måtte omarbeide koden først. Denne komiteen skulle etter planen ha utarbeidet en ferdig standard i1966 men ble først ferdig noen år senere. Standarden ble allikevel kjent som FORTRAN 66. FORTRAN 66 blir også kalt FORTRAN IV. Merk at de første versjonene av Fortran ble skrevet med store bokstaver, dette gjelder ikke lenger. Senere revisjoner og standarder er FORTRAN 77, Fortran 90, Fortran 95 (kun en liten revisjon av Fortran 90), Fortran 2003 og Fortran 2008.

Fortran var og er fortsatt veldig populært i det vitenskapelige miljøet og blant ingeniører innenmeteorologi, styrkeberegning, styresystemer i tungindustri, kraftverk, og romfart, men i mindre grad i administrative system. Fortran var det dominerende programmeringsspråket i flere tiår etter at det ble utviklet og er fortsatt et av de vanligste programmeringsspråkene i bruk. I den senere tid har Fortran fått støtte for objektorientering og «hand-shaking» med C/C++.

Fortran i dag

[rediger |rediger kilde]

Selv om Fortran 90 og senere versjoner har tilført mange egenskaper som en kan vente seg av et moderne programmeringsspråk, blir fortsatt Fortran regnet for å være et gammeldags språk. En grunn til dette kan være at det meste av koden som er i bruk i dag er kodet i FORTRAN 77, før språket ble modernisert. Historisk sett hadde man heller ikke så kraftige maskiner som nå, slik at det var viktigere at programmene var raske enn at de var lette å forstå for en menneskelig leser av koden. Svært lite nyproprietær programvare blir laget i Fortran, men i forskningsmiljøet er fortsatt Fortran en favoritt på grunn av det store fokuset på hastighet.

Kodeeksempler i Fortran

[rediger |rediger kilde]

Hello, World!

[rediger |rediger kilde]

Et enkelt og vanlig eksempel på kodesnutter i programmeringsspråk er å skrive ut beskjeden «Hello, World!» til skjermen. Denne kodesnutten kan bli kjørt på enhver Fortran 90/95-kompilator.

write(*,*)"Hello, World!"end

Volumet av en sylinder

[rediger |rediger kilde]

Dette programmet regner utvolumet til ensylinder og kan bli kompilert og kjørt med enhver Fortran 90/95-kompilator. Teksten som følger utropstegn (!) er kommentarer og vil ikke bli tatt hensyn til av programmet.

programsylinder! Regn ut volumet til en sylinder.implicit none! Krever at samtlige variable blir deklarert (gitt en type)! I eldre versjoner av fortran ble variable deklarert implistt,! avhengig av den første bokstaven i variabelnavnetinteger::ierr! Denne variabelen er et heltallreal::radius,height,volume! mens denne variabelen er et flyttallreal,parameter::pi=3.14159! Denne variabelen er en konstant og kan ikke bli endret iløpet av programmetdo! Spør brukeren om radius og høyde og leser dem innwrite(*,*)"Tast inn radius og høyde, 'q' for å avslutte."read(*,*,iostat=ierr)radius,height! Dersom radius og høyde ikke kunne leses inn fra input avsluttes programmetif(ierr/=0)stop"ending program"! Regn ut volumet. ** betyr opphøyd ivolume=pi*height*radius**2! Vis innvariablene (radius, height) og resultatet (volume) på skjermenwrite(*,"(1x,'radius=',f6.2,5x,'height=',f6.2,5x,'volume=',f6.2)")radius,height,volumeend do end programsylinder

Referanser

[rediger |rediger kilde]
  1. ^John W. Backus, R. J. Beeper, Sheldon F. Best, Richard Goldberg, Lois M. Haibt, Harlan L. Herrick, Robert A. Nelson, David Sayre, Peter B. Sheridan, H. Stern, Irving Ziller, R. A. Hughes og Roy Nutt:The Fortran automatic coding system, Western Joint Computer Conference,1957, sidene 188–198
  2. ^N. Chomsky:Three models for the description of the language, IRE, Transanctions on Information theory, IT-2:3,1956, sidene 113–124
  3. ^P. Z. Ingerman:Panini-Backus form suggested, Communications of the Association for Computing Machinery 10:3,1967, side 137
  4. ^Richard. L. Wexelblat:History of Programming Languages, Academic Press,New York,juni1981, side 162,ISBN 0127450408,ISBN 978-0127450407
A# ·ActionScript ·Ada ·Alef ·ALGOL ·ALGOL 58 ·ALGOL 60 ·ALGOL 68 ·ALTRAN ·APL ·AppleScript ·Argus ·Assembler ·Autokode ·awk ·B ·BASIC ·BCPL ·BETA ·BitC ·BLISS ·Bourne Shell ·C ·C++ ·C-- ·CHILL ·C# ·C shell ·Caml ·Ch ·Cilk · Cilk++ ·Cilk Plus ·Clarion ·Clipper ·CLISP ·Clojure ·CLU ·COBOL ·COMAL ·Common Lisp ·Concurrent C ·Concurrent Euclid ·Concurrent Pascal ·C shell ·D ·Delphi ·Dylan ·ECMAScript ·Eiffel ·Emacs Lisp ·Erlang ·Euclid ·F* ·F# ·Forth ·Fortran ·GNU Common Lisp ·GNU Pascal ·Go ·Haskell ·HyperTalk ·Incr Tcl ·INTERCAL ·Interlisp ·Java ·JavaScript ·JRuby ·LaTeX ·Legoscript ·LilyPond ·Limbo ·Lisp ·LPC ·Lua ·Lynx ·Mary ·MATLAB ·Mesa ·ML ·MML ·Modula ·Modula-2 ·Modula-2+ ·MUMPS ·Objective-C ·Objective-C++ ·OCaml ·OpenVera ·O'Haskell ·Pascal ·Perl ·PHP ·Pike ·PL/I ·Plankalkül ·PLEX ·Prolog ·Protel ·Pure Data ·Python ·R ·Ratfor ·REXX ·RTL/2 ·Ruby ·Rust ·SAS ·Scala ·Scheme ·Scratch ·Simula ·SML ·Smalltalk ·SNOBOL ·Tcsh ·Tcl ·TECO ·TOM ·Turbo Basic ·Turbo Pascal ·Verilog ·Visual Prolog ·Turing ·TypeScript ·Vala ·VHDL ·Visual Basic
Oppslagsverk/autoritetsdata
Hentet fra «https://no.wikipedia.org/w/index.php?title=Fortran&oldid=20452604»
Kategori:
Skjulte kategorier:

[8]ページ先頭

©2009-2025 Movatter.jp