ALGOL

ALGOL
Utvikler(e)
Backus , Bauer, Bottenbruch, Green, Katz, McCarthy , Naur , Perlis, Rutishauser, Samelson, Vauquois, Wegstein, van Wijngaarden og Woodger
Generell informasjon
Paradigme Imperativ ( prosedyremessig ), strukturert
Dukket opp i 1958
Designet av Friedrich L. Bauer, Hermann Bottenbruch, Heinz Rutishauser, Klaus Samelson, John Backus , Charles Katz, Alan Perlis , Joseph Henry Wegstein, Peter Naur , Bernard Vauquois, Adriaan van Wijngaarden , Julien Green og John McCarthy
dialekter ALGOL 58, ALGOL 60, ALGOL 68
påvirket av Fortran
har påvirket Simuler , C , CPL , Pascal , Ada , BASIC

ALGOL (eller Algol ) er et programmeringsspråk . Stemmen er et akronym for de engelske ordene Algo rithmic L anguage ('algoritmisk språk').

Det var veldig populært på universiteter på 1960-tallet, men det fanget ikke opp som et språk for kommersiell bruk.

Algol påvirket imidlertid flere senere språk som ble mye brukt, som Pascal , C , og Ada .

Rundt 1965 utmerket to strømninger seg i spørsmålet om en etterfølger til Algol. Som et resultat ble Algol W -språkene definert, som er et minimalistisk språk , raskt implementert og distribuert, og på den annen side Algol 68 , som på den tiden var på grensen mellom et språk å programmere i og et språk. språk for å forske på det.

Programeksempel i ALGOL 60

prosedyre Absmax ( a ) Dimensjoner :( n , m ) Resultat :( y ) Abonnementer :( i , k ); verdi n , m ; array til ; heltall n , m , i , k ; faktisk og ; kommentar Fra matrisen a tas elementet med størst absolutt verdi og plasseres i y. Elementabonnement er plassert i i og k; begynne heltall p , q ; og := 0; i := k := 1; for p := 1 trinn 1 til n do for q := 1 trinn 1 til m gjør hvis abs ( a [ p , q ]) > og deretter begynne y := abs ( a [ p , q ]); i := p ; k := q slutt slutt Absmax

Algol W

Forseggjort språk designet av Niklaus Wirth og Tony Hoare fra arbeidet til IFIP ALGOL-gruppen . Det er et kortfattet, enkelt å implementere språk som unngår alle de kjente feilene til Algol-språket og inkluderer sine egne tilleggsfunksjoner. Algol-gruppen adopterte det imidlertid ikke som en etterfølger til Algol, og foretrakk i stedet det som endte opp med å bli Algol 68. Algol W ble brukt av et stort antall brukere og banet vei for fødselen av Pascal -språket .

Blant funksjonene til språket skiller følgende seg ut: Dobbel presisjonsaritmetikk , komplekse tall , strenger og dynamiske datastrukturer , evaluering etter verdi, parameterovergang etter verdi, resultatverdi eller resultat.

Algol 68

Definisjonen av språket ble presentert på IFIP ALGOL-komitémøtet i 1965 . Etter flere år med gjennomgang av designet, ble en definitiv versjon nådd i 1968 . Hovedforfatter er Adriaan van Wijngaarden .

Hovedmålene med ALGOL 68 er å tillate kommunikasjon av algoritmer, å tillate effektiv utførelse av dem i forskjellige arkitekturer og å tjene som et verktøy for undervisning.

Et interessant trekk ved ALGOL 68 er at semantikken ble formelt definert før den ble implementert basert på formalismen kalt to-nivå grammatikk .

Programeksempel i Algol 68

proc absmax=(ref[]real a)real: begynne int i, k; faktisk y:=0; kommentar Fra matrisen a tas elementet med størst absolutt verdi og plasseres i y. x Elementabonnement er plassert i i og k;peme kommentar i:= k:= 1⌊a; for p fra 1⌊a med 1 til 1⌈a do for q fra 2⌊a med 1 til 2⌈a do if abs a[p, q] > og deretter y:= abs a[p, q]; i:=p; k:= q fi od od; Y slutt
Algol68 manuell versjon int sum sq:=0; for jeg samtidig som sumsq≤1000 gjøre sum sq+:=i↑2 od Kode for 7-bit/ascii-kompilatoren INT sum sq:=0; FOR i SAMTIDIG SOM sumsq<=1000 GJØRE sum sq+:=i**2 OD Kode for 6-bits/byte-kompilatoren .INT SUM SQ:=0; . FOR MEG .SAMTIDIG SOM SUM SQ.LE 1000 .GJØRE SUM SQ.PLUSAB I.UP 2 .OD

Se også

Eksterne lenker og bibliografi