Simula

Från Wikipedia
Hoppa till: navigering, sök

Simula brukar benämnas som det första objektorienterade programspråket. Det är en utvidgning av Algol 60 avsett för simulering. Språket togs ursprungligen fram i Norge av Ole-Johan Dahl och Kristen Nygaard 1962-67. Kompilatorer fanns bland annat för Tops-10 och TOPS-20. Språket har bland annat varit populärt som undervisningspråk och Bjarne Stroustrup har varit inspirerad av Simula när han utvecklade C++ som etablerade objektorienterad programmering. Andra indirekta arvtagare till Simula är Java.


Klassen Simulation[redigera | redigera wikitext]

I klassen Simulation var det enkelt att beskriva verkliga objekt och dess beteende, som till exempel en person som kommer in och ska göra bankärenden, eller bilar som närmar sig en korsning. Personen tittar kanske efter vilken kö som är kortast, eller vilken kö som har minst av en viss kategori människor, och ställer sig sedan i en viss kö. Kanske finns en viss sannolikhet att han efter 15 min inte kan vänta längre. Kanske han inte ställer sig i kön alls om den är lång, och så vidare. Köer och slumpberäknade väntetider, eller betjäningstider är ofta förekommande inslag. Sättet att hantera sådana objekt kallas "korutiner", de kan leva sitt eget liv, till exempel begära att få vänta en viss tid, med ett särskilt funktionsanrop, och efter denna tid återvända til programraden efter. Under mellantiden körs andra objekt. Detta liknar parallell programmering, eller "aktiva objekt" som det ibland kallas idag. Att beskriva liknande system med ett traditionellt språk som Algol eller Fortran blir oerhört komplext.

Simulas viktigaste arv till eftervärlden är naturligtvis inte simuleringsprincipen, utan att språket visade värdet av att kunna strukturera objektorienterat.

Hello World[redigera | redigera wikitext]

Det klassiska "Hello World!" ser ut på följande sätt:

  Begin
    OutText("Hello World!");    OutImage;
  End;

Se även[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]

Introduktion till Simula