ALGOL
Frå Wikipedia – det frie oppslagsverket
ALGOL (fokorting for ALGOrithmic Language) er eit programmeringsspråk som starta utviklinga midt på 1950-talet, og er eit tidleg programmeringsspråk. Den første standarden vart ferdig i 1958. Seinare versjonar kom i 1960 og 1968. I dag er Algol først og framst av historisk interesse, men er viktig fordi svært mange konsept i dei programmeringsspråka som blir brukt i dag kjem frå Algol, og blir derfor rekna som viktigare enn Fortran og COBOL, som var dei mest populære språka på den tida.
[endre] Eigenskapar og historie
Algol vart utvikla av ein internasjonal komité frå slutten av 1950-åra og framover. Den første rapporten som spesifiserte Algol58 vart ferdig i 1958. Særleg versjonen frå 1960 var nyskapande. Algol60 introduserte blokkstuktur, som finst i nesten alle programeringsspråk introduserte sidan, og som gjer lokale variablar mogeleg. I tillegg vart parameteroverføringsmodi som call by value og call by name, slik at ein kan lage rekursive funksjonar. if-then-else og generelle mekanismar for itterasjon var og nytt i Algol60.
Ei anna nyvinning er at syntaksen til algol er formelt definert i form av ein gramatikk. Denne var i såkalla Bachus-Neur-form (BNF), og dette er i dag den vanlegaste måten å spesifisere eit programmeringsspråk.
Andre eigenskapar som var nye i Algol:
- Dynamiske arrayar: Arrayar som ikkje måtte spesifiserast når programmet
vart laga, men kunne allokerast dynamisk under køyring.
- Nøkkelord: Nøkkelorda i språket kan ikkje brukast som variablar i Algol-program.
- Brukardefinerte datatypar: datatyper som speglar problemetområdet programmeraren forsøker skrive eit program for
[endre] Døme på programmering i Algol
Dette programmet reknar ut gjenomsnittet av alle elementa i ein array.
// the main program (this is a comment) ! begin integer N; Read Int(N); ! begin real array Data[1:N]; real sum, avg; integer i; sum:=0; ! for i:=1 step 1 until N do begin real val; Read Real(val); Data[i]:=if val<0 then -val else val end; ! for i:=1 step 1 until N do sum:=sum + Data[i]; avg:=sum/N; Print Real(avg) end end
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 | Prolog | Portal | R | Ruby | Scheme | Simula | Sina | Sisa | Smalltalk | SML | SNOBOL | Visual Basic |