Simula 67

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Simula 67 je (nejspíš první funkční) objektově orientovaný programovací jazyk, odvozený podobně jako Pascal (kterému se syntaxí velmi podobá) z Algolu.

Jazyk byl navržen v roce 1967 speciálně pro simulování systémů hromadné obsluhy. Proto byl vybaven možností kvaziparalelního výpočtu a kalendářem událostí.

Jazyk se prakticky neuplatnil mimo akademické prostředí, ale měl významný vliv na další vývoj objektového programování. Mnoho rysů Simuly (speciálně celé pojetí tříd a dědičnosti) bylo totiž později převzato jazykem C++ nebo Java. Jazyk Java byl sice odvozen z jazyka C++, nicméně v některých rysech se blíží Simule.[1] Simula, stejně jako Java a některé další jazyky, obsahuje garbage collector, což je mechanismus pro automatické uvolňování nepoužívaných objektů z paměti.

Ukázka kódu[editovat | editovat zdroj]

Nejjednodušší program Hello world vypadá takto:

BEGIN
  WHILE 1=1 DO 
    BEGIN
      outtext("Hello World!");
      outimage;
    END;
END;

Nejjednodušší program lze napsat ještě jednodušeji bez cyklu while-do:

BEGIN
  OutText("Hello World!");
  OutImage;
END;

Některé zvláštnosti jazyka[editovat | editovat zdroj]

Jazyk má dva druhy přiřazovacího operátoru:

  • A := B – přiřazení hodnot, převzato z jazyka Algol, dále používáno například v Pascalu
  • A :- B – přiřazení ukazatelů (v Simule nazývaných reference)
  • Součástí jazyka je i operátor ** pro umocňování. Například výpočet a^3 lze zapsat jako a ** 3.
  • Provádění konstruktoru třídy může být přerušeno klíčovým slovem inner, který zajistí přednostní provedení konstruktorů nadtříd

Reference[editovat | editovat zdroj]

  1. Garbage Collection, Simula 67, Java

Externí odkazy[editovat | editovat zdroj]