Simula
Simula は名前呼び(call by name、評価戦略を参照)をサポートしているため Jensen's Device(en:Jensen's Device)を容易に実装できる。デフォルトはALGOLと異なり値呼び(call by value)であるため、Jensen's Deviceを実装する際には、名前呼びであることを明示する必要がある。
単純な例として総和関数 ∑ {\displaystyle \sum } の実装例を以下に示す。
上記のコードは値(l)と式(u)を制御するために名前呼びを用いている。これにより式で使用する値を制御できる。Simula の標準規格は for 文にある種の制約があるため上記の例では while 文を使用している。
以下の式は次のように実装できる。
Z = ∑ i = 1 100 1 ( i + a ) 2 {\displaystyle Z=\sum _{i=1}^{100}{1 \over (i+a)^{2}}}
■カテゴリ / ■テンプレート
SIMULA(シミュラ; SIMUlation LAnguage)は、オルヨハン・ダールとクリステン・ニガードによってALGOL60を拡張する形で1960年代に開発が始められたシミュレーション用途のプログラミング言語である。
ALGOLのbegin ... endで囲まれた部分であるブロック(block)の概念を実体的な実例(instance)として扱うことを目的として、クラス(class)の構文と対象(object、オブジェクト)の概念を初めて導入した言語である。初期のオブジェクト指向プログラミング言語の一つである。