stringtranslate.com

Charla ambiental

AmbientTalk es un lenguaje de programación distribuido orientado a objetos experimental desarrollado en el Laboratorio de Tecnología de Programación de la Vrije Universiteit Brussel , Bélgica. El lenguaje está orientado principalmente a la escritura de programas implementados en redes móviles ad hoc .

AmbientTalk está pensado para servir como plataforma de experimentación para experimentar con nuevas características del lenguaje o abstracciones de programación para facilitar la construcción de software que tenga que ejecutarse en redes altamente volátiles que exhiban conectividad intermitente y poca infraestructura. [1] Está implementado en Java , lo que permite la interpretación en varias plataformas, incluido Android . La biblioteca estándar del intérprete también proporciona una interfaz perfecta entre Java y los objetos de AmbientTalk, llamada simbiosis.

Las características de concurrencia del lenguaje , que incluyen soporte para futuros y concurrencia de bucle de eventos, se basan en el modelo de actor y han sido ampliamente influenciadas por el lenguaje de programación E. Las características orientadas a objetos del lenguaje encuentran su influencia en lenguajes como Smalltalk (es decir, cierres de bloques, mensajes con palabras clave) y Self ( programación basada en prototipos , rasgos , delegación).

Hola Mundo

system.println("Hola mundo");

El clásico programa "¡Hola mundo!" no es muy representativo de las características del lenguaje. Sin embargo, consideremos su versión distribuida:

/* Define los tipos que se podrían descubrir en la red */ deftype Greeter ; def makeGreeter ( myName ) { /* Generar un actor */ actor: { /* Los actores tienen un espacio de nombres separado, incluye los futuros del idioma en él */ import /. at.lang. futures ;         /* Un método que podría ser llamado por otros saludadores */ def getName (){ myName };   /* Exportar este actor en la red */ export: self as: Greeter ; /* Lógica principal: si descubrimos otro Greeter... */ always: Greeter descubrió: {| other | /* Obtener asincrónicamente su nombre y saludarlo */ when: other <- getName () @FutureMessage se convierte en: {| name | system . println ( "Hola " + name + " from " + myName ); }; }; }; } ;                         /* Genera 2 actores que se saludarán entre sí */ makeGreeter ( "Alice" ); makeGreeter ( "Bob" );

Referencias

  1. ^ Dedecker J., Van Cutsem T., Mostinckx S., D'Hondt T., De Meuter W. Programación orientada al ambiente en AmbientTalk. En “Actas de la 20ª Conferencia Europea sobre Programación Orientada a Objetos (ECOOP), Dave Thomas (Ed.), Lecture Notes in Computer Science vol. 4067, págs. 230-254, Springer-Verlag.”, 2006

Enlaces externos