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]
Paradigma | capacidad de objeto |
---|---|
Diseñada por | David A. Wagner , Adrian Mettler, Chip Morningstar, Mark S. Miller |
Apareció por primera vez | 2004 [1] |
Lanzamiento estable | 2.2.0a |
Influenciado por | |
Java , E | |
Influenciado | |
Proyecto caja |
El lenguaje se destaca por ser uno de los primeros lenguajes de subconjunto de capacidad de 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 , en función de las firmas de sus métodos. [3]
Las restricciones impuestas por el verificador Joe-E incluyen:
- Es posible que las clases no tengan campos estáticos mutables, porque estos crean un estado global.
- Se prohíbe la captura de excepciones de memoria insuficiente, porque hacerlo permite una ejecución no determinista. Por la misma razón, las cláusulas de finalmente no están permitidas.
- Los métodos de la biblioteca estándar pueden bloquearse si se consideran inseguros de acuerdo con las reglas de domesticación. Por ejemplo, el constructor new File (nombre de archivo) está bloqueado porque permite el acceso sin restricciones al sistema de archivos.
Cup of Joe es una jerga para el café y, por lo tanto, sirve como una referencia a Java que evita las marcas comerciales. Por lo tanto, 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 de cap-talk, Mark S. Miller , 01/11/2004, consultado 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 Comunicaciones.
enlaces externos
- El proyecto Joe-E en Google Code
- Especificación del lenguaje Joe-E