Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Парадигма | объектно-ориентированный (на основе прототипов ), параллельный , управляемый событиями , отражающий |
---|---|
Разработано | Том Ван Катсем, Стейн Мостинкс, Джесси Дедекер, Вольфганг Де Мойтер |
Разработчик | Лаборатория языков программного обеспечения, Брюссельский университет |
Впервые появился | 2006 г. |
Стабильный выпуск | 2.19 / апрель 2011 г. |
Печатная дисциплина | динамичный , сильный |
Операционные системы | Независимая платформа |
Лицензия | Лицензия MIT |
Расширения имени файла | .в |
Веб-сайт | http://soft.vub.ac.be/amop |
Основные реализации | |
AmbientTalk (переводчик) | |
Под влиянием | |
Smalltalk , Я , Схема , E , ABCL | |
Под влиянием | |
ECMAScript Harmony |
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 ( «Боб» );
Ссылки [ править ]
- ^ 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
- Интерпретатор с открытым исходным кодом