The English encyclopedia Allmultimedia.org will be launched in two phases.
The final launch of the Allmultimedia.org will take place on February 24, 2026
(shortly after the 2026 Winter Olympics).

Simula 67

Z Multimediaexpo.cz

Verze z 14. 8. 2022, 14:53; Sysop (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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.

Obsah

Ukázka kódu

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 while cyklu:

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

Některé zvláštnosti jazyka

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

  • A := B – přiřazení hodnot, převzato z jazyka Algol, dále používano například v Pascalu
  • A :- B – přiřazní 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

  1. Garbage Collection, Simula 67, Java

Externí odkazy