Simuler

Simula er et objektorientert programmeringsspråk ( OOP) fra 1962. Det var det første i sitt slag som inkluderte konseptet om en klasse. Flere år etter utviklingen begynte nesten alle moderne språk å bruke sine objektorienterte prinsipper. Dette er hvordan termer som klasser , objekter , instanser , arv , polymorfisme , etc. ble populære.

Simula 67 ble offisielt utgitt av forfatterne Ole Johan Dahl og Kristen Nygaard i mai 1967 , på IFIO TC 2 Working Conference on Simulation Languages, i Lysebu ved Oslo .

I dag har skaperne av Simula utviklet et nytt programmeringsspråk, kalt Beta , som generaliserer alle språkets konstruksjoner til en enkelt idé kalt et mønster .

Hei Verden!

Dette er det berømte "Hello World"-programmet i Simula 67:

! dette er en kommentar; Begynn kommentar her starter programmet; OutText ("Hei verden!"); OutImage ; Slutt på programmet ;

Klasser og objekter

Simula er et objektorientert språk . Dette betyr at 'Hello World'-eksemplet også kan skrives ved å instansiere en klasse som håndterer å skrive hilsenen.

! hvert program starter med en begynnelse og slutter med en slutt; Begynne Klasse hilsener; Start OutText ("Hello World!"); OutImage ; avslutningshilsener ; _ REF (Hilsen) objekt; objekt :- Nye hilsener; Slutt på modulprogram ;

Dette programmet viser også "Hello World!" .

Meldingen er kodet i hilsen - klassekodeblokken . Denne kodeblokken kjøres bare når en forekomst eller variabel av typen Greetings eksisterer ; som faktisk skjer når du oppretter en forekomst via New statement .

I Simula håndteres objekter alltid av referanser. Det er en søppelsamler som er ansvarlig for å fjerne fra minnet gjenstander som har gått tom for referanser til dem. Vi ser en av disse referansene med objektvariabel . Vi bruker :- operatoren for å tildele referanser.

I motsetning til mange moderne språk, forstår Simula to typer objekter.

Aktive er de objektene som ennå ikke har fullført sin tilknyttede start-/ sluttblokk .

Inaktive på den annen side har de fullført blokken med instruksjoner.

Begge deler er det mulig å utføre medlemsprosedyrene og spørre etter attributtene når som helst.

Siden Simula 67 er et noe gammelt språk, er konseptene den håndterer noe annerledes enn de som for tiden brukes av det objektorienterte programmeringssamfunnet. Forekomstene vi brukes til å korrespondere med de inaktive objektene . Mens instruksjonsblokken utgjør en serie konstruktører.

Når det gjelder aktive objekter , eksisterer disse på grunn av en pseudo-parallellisme funksjonalitet som finnes i Simula og fraværende på nesten alle moderne språk. Denne funksjonaliteten kalles en coroutine og styres direkte av språket gjennom en gruppe nøkkelord.

En gruppe aktive objekter kan sameksistere i det samme Simula-programmet, og overføre kontroll fra ett til et annet når som helst. Denne funksjonaliteten er grunnlaget for simuleringsfunksjonene som gir språket navnet.

Eksterne lenker