アンビエントトーク

Experimental object-oriented programming language
アンビエントトーク
パラダイムオブジェクト指向プロトタイプベース)、並行イベント駆動リフレクティブ
デザイン:トム・ヴァン・カットセム、スタイン・モスティンクス、ジェシー・デデッカー、ヴォルフガング・デ・ミューター
開発者ブリュッセル大学ソフトウェア言語ラボ
初登場2006
安定版リリース
2.19 / 2011年4月
タイピングの規律ダイナミック力強い
OSプラットフォームに依存しない
ライセンスMITライセンス
ファイル名拡張子。で
Webサイトsoft.vub.ac.be/amop
主要な実装
AmbientTalk(通訳)
影響を受けた
SmalltalkSelfSchemeEABCL
影響を受けた
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" );

参考文献

  1. ^ 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 年
  • アンビエントトーク公式サイト
  • オープンソースインタープリタ
Retrieved from "https://en.wikipedia.org/w/index.php?title=AmbientTalk&oldid=1222231254"