V sobotu 2. listopadu proběhla mohutná oslava naší plnoletosti !!
Multimediaexpo.cz je již 18 let na českém internetu !!

Simula 67

Z Multimediaexpo.cz

(Rozdíly mezi verzemi)
m (Nahrazení textu „<math>“ textem „<big>\(“)
m (Nahrazení textu „</math>“ textem „\)</big>“)
 
Řádka 30: Řádka 30:
* <code>A ''':-''' B</code> – přiřazní ukazatelů (v Simule nazývaných ''reference'')
* <code>A ''':-''' B</code> – přiřazní ukazatelů (v Simule nazývaných ''reference'')
-
*Součástí jazyka je i operátor <code>**</code> pro [[umocňování]]. Například výpočet <big>\(a^3</math> lze zapsat jako <code>a ** 3</code>.
+
*Součástí jazyka je i operátor <code>**</code> pro [[umocňování]]. Například výpočet <big>\(a^3\)</big> lze zapsat jako <code>a ** 3</code>.
*Provádění [[konstruktor]]u třídy může být přerušeno klíčovým slovem <code>inner</code>, který zajistí přednostní provedení konstruktorů nadtříd
*Provádění [[konstruktor]]u třídy může být přerušeno klíčovým slovem <code>inner</code>, který zajistí přednostní provedení konstruktorů nadtříd

Aktuální verze z 14. 8. 2022, 14:53

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