AmbientTalk - AmbientTalk
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигма | объектно-ориентированный (на основе прототипа ) Одновременный Событийный Светоотражающий |
---|---|
Разработано | Том Ван Катсем, Стейн Мостинкс, Джесси Дедекер, Вольфганг Де Мойтер |
Разработчик | Лаборатория языков программного обеспечения, Брюссельский университет |
Впервые появился | 2006 |
Стабильный выпуск | 2.19 / апрель 2011 г. |
Печатная дисциплина | динамичный, сильный |
Операционные системы | Независимая платформа |
Лицензия | Лицензия MIT |
Расширения имени файла | .в |
Интернет сайт | http://soft.vub.ac.be/amop |
Основной реализации | |
AmbientTalk (переводчик) | |
Под влиянием | |
Болтовня, Себя, Схема, E, ABCL | |
Под влиянием | |
ECMAScript Harmony |
AmbientTalk экспериментальный объектно-ориентированный распределен язык программирования разработан в Лаборатории технологий программирования Vrije Universiteit Brussel, Бельгия. Этот язык в первую очередь предназначен для написания программ, развернутых в мобильные специальные сети.
AmbientTalk призван служить платформа для экспериментов экспериментировать с новыми языковыми функциями или абстракциями программирования, чтобы облегчить создание программного обеспечения, которое должно работать в очень изменчивых сетях, демонстрирующих прерывистое соединение и небольшую инфраструктуру.[1] Это реализовано в Ява что позволяет интерпретировать на различных платформах, в том числе Android. Стандартная библиотека интерпретатора также обеспечивает бесшовный интерфейс между объектами Java и AmbientTalk, называемый симбиозом.
Языки параллелизм функции, которые включают поддержку фьючерсы и параллелизм цикла событий, основаны на актерская модель и находились под сильным влиянием Язык программирования E. Объектно-ориентированные функции языка находят свое влияние в таких языках, как Болтовня (например, закрытие блоков, сообщения с ключевыми словами) и Себя (программирование на основе прототипов, черты, делегирование).
Привет, мир
system.println («Привет, мир»);
Классический "Привет, мир!" программа не очень репрезентативен для языковых функций. Однако рассмотрим его распределенную версию:
/ * Определяем типы, которые могут быть обнаружены в сети * /deftype Приветствующий;def makeGreeter(мое имя) { / * Создать актера * / актер: { / * У актеров есть отдельное пространство имен, включая в него фьючерсы языка * / импорт /.at.lang.фьючерсы; / * Метод, который может быть вызван другими приветствующими * / def getName(){мое имя}; / * Экспорт этого актера в сеть * / экспорт: себя в качестве: Приветствующий; / * Основная логика: если мы обнаружим другого Greeter ... * / в любое время: Приветствующий обнаруженный: {|Другой| / * Асинхронно получить их имена и поприветствовать их * / когда: Другой<-getName()@FutureMessage становится: {|имя| система.println("Привет " + имя + " из " + мое имя); }; }; };};/ * Создание 2 актеров, которые будут приветствовать друг друга * /makeGreeter("Алиса");makeGreeter("Боб");
Рекомендации
- ^ Дедекер Дж., Ван Катсем Т., Мостинкс С., Д'Хондт Т., Де Меутер В. Окружающее программирование в AmbientTalk. В «Трудах 20-й Европейской конференции по объектно-ориентированному программированию (ECOOP)», Дэйв Томас (ред.), Lecture Notes in Computer Science Vol. 4067, стр. 230-254, Springer-Verlag. », 2006 г.