at:introduction
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
at:introduction [2007/04/11 12:42] – tvcutsem | at:introduction [2008/07/15 12:19] (current) – * tvcutsem | ||
---|---|---|---|
Line 6: | Line 6: | ||
* **dynamically typed**, which is **not** the same as being untyped: AmbientTalk //values// are typed, but // | * **dynamically typed**, which is **not** the same as being untyped: AmbientTalk //values// are typed, but // | ||
* object-oriented, | * object-oriented, | ||
- | * flexible: like Smalltalk, Self and Ruby, AmbientTalk embraces the use of elegant and expressive **block closures** to achieve a level of reusability far exceeding that of Java or similar languages lacking true closures. | + | * flexible: like Scheme, |
* event-driven: | * event-driven: | ||
- | * distributed: | + | * distributed: |
* **symbiotic**: | * **symbiotic**: | ||
Line 40: | Line 40: | ||
| | ||
// engage in peer-to-peer service discovery | // engage in peer-to-peer service discovery | ||
- | | + | |
export: remoteInterface as: InstantMessenger; | export: remoteInterface as: InstantMessenger; | ||
whenever: InstantMessenger discovered: { |messenger| | whenever: InstantMessenger discovered: { |messenger| | ||
Line 51: | Line 51: | ||
An instant messenger object is created by invoking a function called '' | An instant messenger object is created by invoking a function called '' | ||
- | Within the lexical scope of the '' | + | Within the lexical scope of the '' |
The '' | The '' | ||
Line 132: | Line 132: | ||
< | < | ||
- | | + | |
export: remoteInterface as: InstantMessenger; | export: remoteInterface as: InstantMessenger; | ||
whenever: InstantMessenger discovered: { |messenger| | whenever: InstantMessenger discovered: { |messenger| | ||
Line 152: | Line 152: | ||
</ | </ | ||
- | The '' | + | The '' |
Finally, notice how AmbientTalk allows you to deal with //partial failures//: you can register two kinds of // | Finally, notice how AmbientTalk allows you to deal with //partial failures//: you can register two kinds of // | ||
Line 172: | Line 172: | ||
Of course, we are not claiming that AmbientTalk is a good replacement for distributed computing standards such as CORBA or Jini, which are much more flexible, at the cost of increased complexity. AmbientTalk is simply a lightweight alternative for doing experimental research. | Of course, we are not claiming that AmbientTalk is a good replacement for distributed computing standards such as CORBA or Jini, which are much more flexible, at the cost of increased complexity. AmbientTalk is simply a lightweight alternative for doing experimental research. | ||
- | So, you read the introduction and are interested in all of the gory details of the language? In that case, you can go ahead and [[at: | + | ===== Moving on ===== |
+ | |||
+ | So, you read the introduction and are interested in all of the gory details of the language? In that case, you can go ahead and [[at: |
at/introduction.1176288145.txt.gz · Last modified: 2007/06/19 16:48 (external edit)