AmbientTalk
Encyclopedia
AmbientTalk is an experimental object-oriented distributed programming language
developed at the Programming Technology Laboratory at the Vrije Universiteit Brussel
, Belgium. The language is primarily targeted at writing programs deployed in mobile ad hoc networks.
AmbientTalk is meant to serve as an experimentation platform to experiment with new language features or programming abstractions to facilitate the construction of software that has to run in highly volatile networks exhibiting intermittent connectivity and little infrastructure.
The language's concurrency
features, which include support for futures
and event-loop concurrency, are founded on the actor model
and have been largely influenced by the E programming language. The language's object-oriented features find their influence in languages like Smalltalk
(i.e. block closures, keyworded messages) and Self (prototype-based programming
, delegation).
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
developed at the Programming Technology Laboratory at the Vrije Universiteit Brussel
Vrije Universiteit Brussel
The Vrije Universiteit Brussel is a Flemish university located in Brussels, Belgium. It has two campuses referred to as Etterbeek and Jette.The university's name is sometimes abbreviated by "VUB" or translated to "Free University of Brussels"...
, Belgium. The language is primarily targeted at writing programs deployed in mobile ad hoc networks.
AmbientTalk is meant to serve as an experimentation platform to experiment with new language features or programming abstractions to facilitate the construction of software that has to run in highly volatile networks exhibiting intermittent connectivity and little infrastructure.
The language's concurrency
Concurrency (computer science)
In computer science, concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other...
features, which include support for futures
Futures and promises
In computer science, future, promise, and delay refer to constructs used for synchronization in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially not known, usually because the computation of its value has not yet completed.The term...
and event-loop concurrency, are founded on the actor model
Actor model
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and...
and have been largely influenced by the E programming language. The language's object-oriented features find their influence in languages like Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...
(i.e. block closures, keyworded messages) and Self (prototype-based programming
Prototype-based programming
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse is performed via a process of cloning existing objects that serve as prototypes. This model can also be known as classless, prototype-oriented or instance-based programming...
, delegation).