Articulo de referencia

Joe-E

[http://www.eros-os.org/pipermail/cap-talk/2004-November/002180.html An early reference to Joe-E] on the cap-talk mailing list, [[Mark S. Miller]], 2004/11/01, retrieved 2009/11...

Joe-E es un subconjunto del lenguaje de programación Java destinado a admitir la programación de acuerdo con la disciplina de capacidad de objetos . [ 2 ]

Este lenguaje destaca por ser uno de los primeros lenguajes de subconjuntos con capacidad para objetos. Ha influido en lenguajes de subconjuntos posteriores, como ADsafe y Caja/Cajita , subconjuntos de Javascript.

También es notable por permitir que los métodos se verifiquen como funcionalmente puros , basándose en sus firmas de método. [ 3 ]

Las restricciones impuestas por el verificador Joe-E incluyen:

  • Las clases no pueden tener campos estáticos mutables, ya que estos crean un estado global.
  • Está prohibido capturar excepciones de falta de memoria, ya que esto permite una ejecución no determinista. Por la misma razón, no se permiten las cláusulas finally .
  • Los métodos de la biblioteca estándar pueden bloquearse si se consideran inseguros según las reglas de control. Por ejemplo, el constructor ` new File(filename)` se bloquea porque permite el acceso sin restricciones al sistema de archivos.

«Cup of Joe» es una expresión coloquial para referirse al café, y por lo tanto sirve como una referencia a Java que evita problemas de marca registrada. Así, el nombre Joe-E pretende sugerir una adaptación de ideas del lenguaje de programación E para crear una variante del lenguaje Java.

Waterken Server está escrito en Joe-E.

Referencias

  1. Una referencia temprana a Joe-E en la lista de correo cap-talk, Mark S. Miller , 01/11/2004, consultada el 21/11/2009.
  2. Joe-E: Un subconjunto de Java orientado a la seguridad , Adrian Mettler, David Wagner y Tyler Close; enero de 2010.
  3. Pureza funcional verificable en Java , Matthew Finifter, Adrian Mettler, Naveen Sastry, David Wagner; octubre de 2008, Conferencia sobre seguridad informática y de comunicaciones.
  • El proyecto Joe-E en Google Code
  • Especificación del lenguaje Joe-E