User Tools

Site Tools


at:tutorial:preface

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
at:tutorial:preface [2007/07/10 22:52]
tvcutsem *
at:tutorial:preface [2007/07/11 08:45] (current)
tvcutsem *rewrote
Line 12: Line 12:
  
 In 2006, Tom Van Cutsem and Stijn Mostinckx started the AmbientTalk/2 project, which resulted in the present version of AmbientTalk. They redesigned most aspects of the original language, including the syntax, to make AmbientTalk more accessible to people unfamiliar with the Pico language. AmbientTalk/2's main purpose is still to be used as a research artifact for PhD students at the programming technology lab. On the other hand, from the beginning AmbientTalk/2 was conceived as a usable, practical programming language, which could be used to construct large and real-life software. This design decision motivated the inclusion of such features as a module system and symbiosis with the underlying Java Virtual Machine, for example. In 2006, Tom Van Cutsem and Stijn Mostinckx started the AmbientTalk/2 project, which resulted in the present version of AmbientTalk. They redesigned most aspects of the original language, including the syntax, to make AmbientTalk more accessible to people unfamiliar with the Pico language. AmbientTalk/2's main purpose is still to be used as a research artifact for PhD students at the programming technology lab. On the other hand, from the beginning AmbientTalk/2 was conceived as a usable, practical programming language, which could be used to construct large and real-life software. This design decision motivated the inclusion of such features as a module system and symbiosis with the underlying Java Virtual Machine, for example.
 +
 +Perhaps the most significant change from AmbientTalk/1 to AmbientTalk/2 is the incarnation of actor concurrency in the language. In AmbientTalk/1 - inspired by other actor languages such as ABCL/1 - actors were represented as distinct so-called //active objects//, and the language explicitly distinguished those active objects from ordinary, passive objects. AmbientTalk/2, on the other hand, is based on the notion of actors as "vats" or "containers" of ordinary objects as introduced in the [[http://www.erights.org|E programming language]]. As you will read in the subsequent chapters of the tutorial, this design change shifted the emphasis from actors back onto regular objects, which in the general case makes AmbientTalk/2 programs more reusable and easier to understand.
  
 Today, AmbientTalk/2 is being maintained by a number of PhD students and postdoctoral fellows of the [[:people|ambient research group]] of the programming technology lab. The language is still being used as a research vehicle, although it is accessible to the general public and can be used to develop realistic distributed applications. Today, AmbientTalk/2 is being maintained by a number of PhD students and postdoctoral fellows of the [[:people|ambient research group]] of the programming technology lab. The language is still being used as a research vehicle, although it is accessible to the general public and can be used to develop realistic distributed applications.
  
-==== About this tutorial... ====+==== About this tutorial ==== 
 + 
 +The tutorial introduces the AmbientTalk programming language from its basic building blocks (functions, objects, messages) up to its advanced distribution model (remote objects, discovery, failure handling). The tutorial is not a comprehensive reference manual that tries to give the precise semantics of all of AmbientTalk's language features. Rather, it tries to give the reader hands-on experience in using the main features of the language in an example-driven manner.
  
-This tutorial introduces the programming language AmbientTalk from the basics up to the distribution model. The tutorial does not attempt to be comprehensive reference manual but rather tries to give you hands-on experience in using the main features of the language.+The tutorial is subdivided into different chapters that each highlight different aspects of the language. It is recommended to read through the tutorial sequentially, although this does not preclude reader interested in concurrency and actors to read that chapter early on, and then get back to previous chapters when things are unclear.
at/tutorial/preface.1184100775.txt.gz · Last modified: 2007/07/11 08:34 (external edit)