Oberon-2

Oberon-2
パラダイム 命令型構造化モジュラーオブジェクト指向
登場時期 1991年
設計者 ニクラウス・ヴィルトHanspeter Mössenböckドイツ語版
型付け 強い静的型付け
影響を受けた言語 OberonModula-2Object Oberon
影響を与えた言語 Oberon-07ZonnonActive Oberon, Component Pascal, Go, Nim
プラットフォーム Windows、Linux、Solaris、MacOS

Oberon-2 とは、プログラミング言語 Oberon を拡張し、オブジェクト指向的なコンセプトを取り入れた言語である。

1991年、チューリッヒ工科大学ニクラウス・ヴィルトHanspeter Mössenböckドイツ語版(現リンツ大学英語版システムソフトウェア研究所)が開発した。Oberon-2 は Oberon の上位互換である。Oberon-2 は Object Oberon(Oberon にオブジェクト指向のコンセプトを導入した最初の試み)の再設計でもあった。

Oberon-2 は Oberon から限定されたリフレクションとインタフェースなどを持たない単一継承型拡張)を受け継いでいるが、効果的な仮想メソッド(型束縛プロシージャ)を追加している。メソッド呼び出しは、C++のような仮想メソッドテーブルを使って実行時に確定する。

Smalltalk などの完全なオブジェクト指向言語に比べると、Oberon-2 の基本データ型はオブジェクトになっておらず、クラスもオブジェクトではなく、多くの操作がメソッドではないし、メッセージパッシングの概念もなく、ポリモーフィズムも限定的である(SmalltalkRubyのようなダックタイピングがなく、Javaのようなインタフェースも定義できない)。オブジェクト/クラスレベルでのカプセル化もサポートしていないが、モジュールをその目的で使用することができる。

Oberon-2 のリフレクションはメタオブジェクト英語版を使わず、実行ファイル内に含まれる型記述子を単に読み、それが型やプロシージャを定義しているモジュールに渡される。その構造体の形式が言語レベルで渡されるなら(例えば Oberon System 3 がそうである)、ライブラリレベルでのリフレクションの実装が可能である。従って、言語コードを全く変えずにライブラリレベルでほとんど全てを実行することも可能である。実際、Oberon System 3 は言語レベルとライブラリレベルのリフレクションを多用している。


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne