Jump to content

AmbientTalk

AmbientTalk
Парадигма объектно-ориентированный ( на основе прототипов ), параллельный , управляемый событиями , рефлексивный
Разработано Том Ван Катсем, Стейн Мостинкс, Джесси Дедекер, Вольфганг Де Мойтер
Разработчик Лаборатория языков программного обеспечения, Брюссельский университет
Впервые появился 2006
Стабильная версия
2.19 / апрель 2011 г.
Дисциплина набора текста динамичный , сильный
ТЫ Независимый от платформы
Лицензия МОЯ лицензия
Расширения имен файлов
Веб-сайт мягкий .vub .быть /амоп
Основные реализации
AmbientTalk (переводчик)
Под влиянием
Smalltalk , Self , Scheme , E , ABCL
Под влиянием
ECMAScript Гармония

AmbientTalk — экспериментальный объектно-ориентированный распределенный язык программирования , разработанный в Лаборатории технологий программирования Брюссельского свободного университета , Бельгия. Язык в первую очередь предназначен для написания программ, развернутых в мобильных одноранговых сетях .

AmbientTalk призван служить экспериментальной платформой для экспериментов с новыми функциями языка или абстракциями программирования, чтобы облегчить создание программного обеспечения, которое должно работать в очень нестабильных сетях, демонстрирующих прерывистое соединение и небольшую инфраструктуру. [1] Он реализован на языке Java , что позволяет интерпретировать его на различных платформах, включая Android . Стандартная библиотека интерпретатора также обеспечивает бесшовный интерфейс между объектами Java и AmbientTalk, называемый симбиозом.

языка Функции параллелизма , в том числе поддержка фьючерсов и параллелизма цикла событий, основаны на модели актера и во многом находятся под влиянием языка программирования E. Объектно-ориентированные функции языка находят свое влияние в таких языках, как Smalltalk (т.е. замыкания блоков, сообщения с ключевыми словами) и Self ( программирование на основе прототипов , черты , делегирование).

Привет, мир

[ редактировать ]
system.println("Hello world");

Классический «Привет, мир!» программа не очень отражает особенности языка. Однако рассмотрим его распределенную версию:

/* Define types that could be discovered on the network */
deftype Greeter;

def makeGreeter(myName) {
    /* Spawn an actor */
    actor: {
        /* Actors have a separate namespace, include the language futures in it */
        import /.at.lang.futures;

        /* A method that could be called by other greeters */
        def getName(){myName};

        /* Export this actor on the network */
        export: self as: Greeter;
        
        /* Main logic: if we discover another Greeter ... */
        whenever: Greeter discovered: {|other|
            /* Asynchronously get their name, and greet them */
            when: other<-getName()@FutureMessage becomes: {|name|
                system.println("Hello " + name + " from " + myName);
            };
        };
    };
};

/* Spawn 2 actors that will greet each other */
makeGreeter("Alice");
makeGreeter("Bob");
  1. ^ Дедекер Дж., Ван Катсем Т., Мостинкс С., Д'Хондт Т., Де Мойтер В. Окружающее программирование в AmbientTalk. В «Материалах 20-й Европейской конференции по объектно-ориентированному программированию (ECOOP), Дэйв Томас (ред.), Lecture Notes in Computer Science Vol. 4067, с. 230–254, Springer-Verlag.», 2006 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8664eda8b955c93ba66f9d6fe96a3948__1714836480
URL1:https://arc.ask3.ru/arc/aa/86/48/8664eda8b955c93ba66f9d6fe96a3948.html
Заголовок, (Title) документа по адресу, URL1:
AmbientTalk - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)