Hoppa till innehållet

Algol (programspråk)

Från Wikipedia
(Omdirigerad från Algol 60)
Algol
1965 ALGOL-20 A Language Manual, Fierst et al - cover.jpg
Paradigmimperativ, strukturerad, procedurell
Gavs ut1958, 1960, 1968
Skapat avBauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis, Wegstein, Naur, Vauquois, van Wijngaarden, Woodger, Green, McCarthy
Senaste versionAlgol 68
Influerat avFortran, COBOL
InflueratDe flesta imperativa språk t.ex. PL/1, Simula, Pascal, C och Scheme
PlattformUnix, Linux, Microsoft Windows, m. fl.

ALGOL är ett programspråk ursprungligen utvecklat 1958. Namnet är en förkortning av Algorithmic Language.

Algol konstruerades av en kommitté av europeiska och amerikanska forskare, delvis som en reaktion på det strax tidigare utvecklade språket Fortran. Det innehöll ett antal då revolutionerande idéer och har starkt influerat de flesta efterföljande programspråken. Det var det första språket som beskrevs av en formell syntax och introducerade många av de numera vedertagna kontrollstrukturerna som if-then-else och while-do. Dock fick Algol aldrig någon större spridning jämfört med de samtida Fortran och COBOL, bland annat för att de båda första Algol-versionerna inte innehöll någon standardiserad definition av hur inmatning och utmatning av data skulle ske, det delegerades till konkreta implementeringar.

Framträdande personer inom kommittén var amerikanen John Backus och dansken Peter Naur som också har gett namn åt Backus-Naur-form, den formalism som beskriver syntaxen i Algol, och många senare språk. Från Sverige deltog delegater från Matematikmaskinnämnden (Axel Bring, Stig Comét och Gunnar Ehrling), Chalmers tekniska högskola (Ingemar Dahlstrand och H. Fuhrer), Uppsala Universitet (Klaus Appel), ASEA (Per Gjerløv), Facit Electronics (A. Olsson och B. Westling) och den del av Saab som senare skulle bli Datasaab (Börje Langefors och Sven Yngvell).[1]

Den första officiella versionen av språket var Algol 58 och senare kom Algol 60 och Algol 68. Niklaus Wirth utvecklade också en egen version Algol W som var föregångaren till Pascal. De officiella versionerna är namngivna efter det år de publicerades. Algol 68 skiljer sig i många avseenden radikalt från de övriga varianterna av Algol. Det beskrevs av en komplex två-nivås grammatik skapad av Adriaan van Wijngaarden som bland annat medgav att i stor utsträckning även beskriva språkets semantik, förutom dess syntax. Algol 68 innehöll också nya datatyper som referenser och sammansatta strukturer jämförbara med COBOL:s.

Algol i Sverige

[redigera | redigera wikitext]

I Sverige konstruerades mycket tidigt en Algol 60-kompilator för SMIL av Torgil Ekman och Leif Robertsson,[2] och på Facit ansvarade Ingemar Dahlstrand för en grupp som konstruerade en Algol 60-kompilator för Facits dator Facit EDB åren 1960-1964.[3] Dahlstrand ingick även som konsult tillsammans med Axel Bring och Gunnar Hellström i gruppen som utvecklade dialekten Algol-Genius för Datasaabs stordatorer D21, D22 och D23 runt år 1964.[4]

  • Informal introduction to Algol 68, C. H. Lindsey, S.G. van der Meulen, North-Holland publishing company, Amsterdam 1973. (ISBN 0-7204-2048-2).
  1. ^ Wexelblat, Richard L. (1981). History of Programming Languages. New York: Academic Press. sid. 75-172. Libris 4547360. ISBN 0127450408 
  2. ^ Jan Engvald (16 oktober 2006). ”SMIL 50 år - seminarier kring Lunds första dator”. lu.se. Lunds universitet. Arkiverad från originalet den 17 februari 2020. https://web.archive.org/web/20200217102329/http://www.lth.se/digitalth/smil/. Läst 17 mars 2019. 
  3. ^ Dahlstrand, Ingmar (2003-06-18). ”The Early Nordic Software Effort”. i Janis Bubenko. History of nordic computing : ifip wg9. 7 first working conference on the history of nordic computing (hinc1), june 16-18, 2003, trondheim, norway. Springer. sid. 241. Libris m3xs55t1k5nhz783. ISBN 9780387241685 
  4. ^ Yngvell, Sven (1994). ”Programvara”. i Viggo Wentzel. Bits & bytes ur Datasaabs historia: tema D21. Bits & bytes ur Datasaabs historia. Linköping: Datasaabs vänner. sid. 41. ISBN 91-972464-09. http://www.datasaab.se/Bok_1_5/Downloads/Tema_D21.pdf 

Externa länkar

[redigera | redigera wikitext]