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
- ↑ Una referencia temprana a Joe-E en la lista de correo cap-talk, Mark S. Miller , 01/11/2004, consultada el 21/11/2009.
- ↑ Joe-E: Un subconjunto de Java orientado a la seguridad , Adrian Mettler, David Wagner y Tyler Close; enero de 2010.
- ↑ Pureza funcional verificable en Java , Matthew Finifter, Adrian Mettler, Naveen Sastry, David Wagner; octubre de 2008, Conferencia sobre seguridad informática y de comunicaciones.
Enlaces externos
- El proyecto Joe-E en Google Code
- Especificación del lenguaje Joe-E
- Sistemas de capacidad
- Java (lenguaje de programación)
- Esbozos de programación informática