Articulo de referencia

Hermes (lenguaje de programación)

Hermes [ 1 ] [ 2 ] es un lenguaje para programación distribuida [ 3 ] que fue desarrollado en el Centro de Investigación Thomas J. Watson de IBM desde 1986 hasta 1992, con un co...

Hermes [ 1 ] [ 2 ] es un lenguaje para programación distribuida [ 3 ] que fue desarrollado en el Centro de Investigación Thomas J. Watson de IBM desde 1986 hasta 1992, con un compilador y un sistema de tiempo de ejecución de código abierto. [ 4 ] Las características principales de Hermes incluían: [ 5 ]

Utiliza el análisis de estado de tipo para comprobar los errores de transición de variables, descartando transiciones semánticamente sin sentido de un estado a otro (por ejemplo, partiendo de un valor, algunas secuencias de operaciones sobre una variable carecen de sentido), siendo la lectura de una variable no inicializada un caso especial. En este sentido, la comprobación en tiempo de compilación de la inicialización de datos es similar al análisis de asignación definida que realizan Java , Cyclone y C# .

Hermes y su predecesor, NIL (Network Implementation Language), fueron los primeros lenguajes de programación que admitían esta forma de verificación de inicialización. [ 6 ] Typestate se utilizó de forma más extensa para generar operaciones de "eliminación" insertadas por el compilador.

Referencias

  1. Strom, Robert E.; Bacon, David F .; Goldberg, Arthur P.; Lowry, Andy; Yellin, Daniel M.; Yemini, Shaula (1991). Hermes - Un lenguaje para la computación distribuida . Englewood Cliffs, NJ, EE. UU.: Prentice-Hall. ISBN 978-0-13-389537-7.
  2. Lowry, Andy (1992). "El lenguaje Hermes en forma esquemática" . ACM SIGPLAN Notices . 27 (8): 51– 70. doi : 10.1145/142137.142148 . ISSN 0362-1340 . S2CID 28615424 .  
  3. Strom, RE (1990). "Hermes: un lenguaje y sistema integrado para programación distribuida". Taller IEEE sobre Sistemas Distribuidos Experimentales . págs. 75–82 . doi : 10.1109/EDS.1990.138054 . S2CID 10223422 .  
  4. Bacon, David F. ; Lowry, Andy (1990). Un sistema de ejecución portátil para el lenguaje de programación distribuida Hermes . Conferencia técnica de verano de USENIX. Anaheim, California, EE. UU.: Asociación Usenix. págs. 39–50 . 
  5. Korfhage, Willard; Goldberg, Arthur P. (1995). "Experiencias lingüísticas de Hermes" (PDF) . Software: Practice and Experience . 25 (4): 389– 402. CiteSeerX 10.1.1.13.9034 . doi : 10.1002/spe.4380250404 . ISSN 0038-0644 . S2CID 30437763. Archivado del original (PDF) el 26 de mayo de 2005. Recuperado el 27 de agosto de 2009 .   
  6. Strom, Robert E. (1983). «Mecanismos para la aplicación de la seguridad en tiempo de compilación». Actas del 10.º simposio ACM SIGACT-SIGPLAN sobre principios de lenguajes de programación - POPL '83 . págs. 276–284 . doi : 10.1145/567067.567093 . ISBN  978-0897910903. S2CID 6630704 .