Simula 67

Z Wikipedie, otevřené encyklopedie

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. Lze dokonce prohlásit, že 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

[editovat] 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;

[editovat] 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 a3 lze zapsat jako a ** 3.

[editovat] Reference

  1. Garbage Collection, Simula 67, Java

[editovat] Externí odkazy


Programovací jazyky

ABAP | Ada | AWK | Assembler | C | C++ | C# | COBOL | ColdFusion | Clean | D | Eiffel | Erlang | Flex | Fortran | JADE | Java | JavaScript | Lisp | Lua | Oberon | Object Pascal | Objective-C | Pascal | Perl | PHP | Python | REALbasic | REBOL | RPG | Ruby | SQL / PL/SQL | Tcl / Tcl/Tk | Visual Basic / VBScript | VB.NET | Visual FoxPro

Akademické: APL / J | Baltazar | Baltík | Karel | OCaml | Haskell | Scheme | Smalltalk | Logo | MATLAB | Mathematica | ML | Prolog

Ostatní: ALGOL | BASIC | Clipper | Forth | Goedel | Limbo | Miranda | Modula-2 / Modula-3 | MUMPS | PL/1 | Simula 67 | Whitespace