Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Привет, мир [ править ]

system.println («Привет, мир»);

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

/ * Определяем типы, которые могут быть обнаружены в сети * / deftype  Greeter ;def  makeGreeter ( myName )  {  / *  Создать актера * / актера:  {  / * У актеров есть отдельное пространство имен, включая в него языковые фьючерсы * /  import  /. at.lang. фьючерсы ; / * Метод, который может быть вызван другими участниками приветствия * /  def  getName () { myName }; / * Экспорт этого актера в сеть * /  export:  self  как:  Greeter ;  / * Основная логика: если мы обнаружим другого Greeter ... * /  всякий раз, когда:  Greeter  обнаружил:  {| другое |  / * Асинхронно получить их имена и поприветствовать их * /  когда:  other <- getName () @FutureMessage  становится:  {| имя |  система . println ( «Привет»  +  имя  +  «из»  +  myName );  };  };  }; };/ * Создание 2 актеров, которые будут приветствовать друг друга * / makeGreeter ( "Alice" ); makeGreeter ( «Боб» );

Ссылки [ править ]

  1. ^ Dedecker J., Van Cutsem T., Mostinckx S., D'Hondt T., De Meuter W. Окружающее программирование в AmbientTalk. В «Протоколах 20-й Европейской конференции по объектно-ориентированному программированию (ECOOP)», Дэйв Томас (ред.), Lecture Notes in Computer Science Vol. 4067, стр. 230-254, Springer-Verlag. », 2006 г.

Внешние ссылки [ править ]

  • Официальный сайт AmbientTalk
  • Интерпретатор с открытым исходным кодом