This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
| アンビエントトーク | |
|---|---|
| パラダイム | オブジェクト指向(プロトタイプベース)、並行、イベント駆動、リフレクティブ |
| デザイン: | トム・ヴァン・カットセム、スタイン・モスティンクス、ジェシー・デデッカー、ヴォルフガング・デ・ミューター |
| 開発者 | ブリュッセル大学ソフトウェア言語ラボ |
| 初登場 | 2006 |
| 安定版リリース | 2.19 / 2011年4月 |
| タイピングの規律 | ダイナミック、力強い |
| OS | プラットフォームに依存しない |
| ライセンス | MITライセンス |
| ファイル名拡張子 | 。で |
| Webサイト | soft.vub.ac.be/amop |
| 主要な実装 | |
| AmbientTalk(通訳) | |
| 影響を受けた | |
| Smalltalk、Self、Scheme、E、ABCL | |
| 影響を受けた | |
| ECMAScriptハーモニー | |
AmbientTalkは、ベルギーのブリュッセル自由大学のプログラミング技術研究所で開発された実験的なオブジェクト指向分散プログラミング言語です。この言語は主に、モバイルアドホックネットワークで展開されるプログラムの作成を目的としています。
AmbientTalkは、断続的な接続と限られたインフラストラクチャを伴う非常に不安定なネットワークで実行されるソフトウェアの構築を容易にするために、新しい言語機能やプログラミング抽象化を試すための実験プラットフォームとして機能することを目的としています。 [1] Javaで実装されており、 Androidを含む様々なプラットフォームでのインタープリタ処理を可能にします。インタープリタ標準ライブラリは、JavaとAmbientTalkオブジェクト間のシームレスなインターフェース(シンビオシス)も提供します。
この言語の並行性機能は、フューチャーやイベントループ並行性のサポートを含め、アクターモデルに基づいており、 Eプログラミング言語の影響を大きく受けています。この言語のオブジェクト指向機能は、Smalltalk(ブロッククロージャ、キーワードメッセージ)やSelf(プロトタイプベースプログラミング、トレイト、委譲)などの言語に影響を受けています。
こんにちは世界
system.println("こんにちは世界");
典型的な「Hello, World!」プログラムは、言語の機能をあまりよく表していません。しかし、分散バージョンを考えてみましょう。
/* ネットワーク上で検出できる型を定義します */
deftype Greeter ;
def makeGreeter ( myName ) { /* アクターを生成します */ actor: { /* アクターには別の名前空間があり、その中に言語の futures を組み込みます */ import /.at.lang . futures ;
/* 他の Greeter から呼び出すことができるメソッド */
def getName (){ myName };
/* このアクターをネットワークにエクスポートします */
export: self as: Greeter ; /* メインロジック: 別の Greeter を発見した場合... */ every: Greeter found: {| other | /* 非同期的に名前を取得し、挨拶します */ when: other <- getName () @FutureMessage は次のようになります: {| name | system . println ( "Hello " + name + " from " + myName ); }; }; } ; };
/* お互いに挨拶する 2 人のアクターを生成します */
makeGreeter ( "Alice" );
makeGreeter ( "Bob" );
参考文献
- ^ Dedecker J.、Van Cutsem T.、Mostinckx S.、D'Hondt T.、De Meuter W. AmbientTalk におけるアンビエント指向プログラミング。 「第 20 回オブジェクト指向プログラミング欧州会議 (ECOOP) の議事録、Dave Thomas (編)、Lecture Notes in Computer Science Vol. 4067、pp. 230-254、Springer-Verlag」、2006 年
外部リンク
- アンビエントトーク公式サイト
- オープンソースインタープリタ