BeanShell es un intérprete de código fuente Java pequeño, gratuito e integrable con características de lenguaje de secuencias de comandos de objetos, escrito en Java . Se ejecuta en Java Runtime Environment (JRE), ejecuta dinámicamente la sintaxis estándar de Java y la amplía con conveniencias de scripting comunes, como tipos sueltos, comandos y cierres de métodos, como los de Perl y JavaScript.
Paradigma | Orientada a objetos , scripting |
---|---|
Diseñada por | JCP |
Apareció por primera vez | 1999 |
Lanzamiento estable | 2.1.0 / 22 de diciembre de 2020 |
Disciplina de mecanografía | Dinámico , fuerte |
Lenguaje de implementación | Java |
Plataforma | JVM |
SO | Multiplataforma |
Licencia | Apache v2.0 , SPL / LGPL (versiones 2.0b4 y anteriores) [1] [2] |
Sitio web | github |
Influenciado por | |
Java , JavaScript , Perl |
Características
Si bien BeanShell permite a sus usuarios definir funciones que se pueden llamar desde un script, su filosofía subyacente ha sido no contaminar su sintaxis con demasiadas extensiones y " azúcar sintáctico ", asegurando así que el código escrito para un compilador de Java normalmente se puede ejecutar. interpretativamente por BeanShell sin ningún cambio y, casi tanto, viceversa. Esto convierte a BeanShell en una popular herramienta de prueba y depuración para la plataforma de máquina virtual Java (JVM).
BeanShell admite objetos con secuencias de comandos como cierres de métodos simples como los de Perl y JavaScript .
BeanShell es un proyecto de código abierto y se ha incorporado a muchas aplicaciones, como Apache OpenOffice , Apache Ant , WebLogic Server Application Server, Apache JMeter , jEdit , ImageJ , JUMP GIS , Apache Taverna y muchas otras. BeanShell proporciona una interfaz de programación de aplicaciones (API) fácil de integrar . También se puede ejecutar en modo de línea de comandos o dentro de su propio entorno gráfico.
Historia
Las primeras versiones de BeanShell (0.96, 1.0) fueron lanzadas por Patrick Niemeyer en 1999, seguidas de una serie de versiones. BeanShell 1.3.0 se lanzó en agosto de 2003. La versión 2.0b1 se lanzó en septiembre de 2003, culminando con la versión 2.0b4 en mayo de 2005, que a enero de 2015 es la versión más reciente publicada en la página web oficial. [3]
BeanShell se ha incluido en la distribución de Linux Debian desde 1999. [4]
BeanShell estaba siendo estandarizado a través del Proceso de la Comunidad Java (JCP) bajo JSR 274. [5]
Tras la aprobación del JCP de la boleta de revisión de BeanShell JSR en junio de 2005, no se estaba realizando ninguna actividad visible en torno a BeanShell. [6] El estado JSR 274 es "inactivo".
Desde Java 9, Java en su lugar incluye JShell , un shell de bucle de lectura-evaluación-impresión (REPL) diferente basado en la sintaxis de Java, lo que indica que BeanShell no continuará. [7]
En mayo de 2007 se creó una bifurcación de BeanShell, BeanShell2 , en el ahora desaparecido sitio web de Google Code . [8] El proyecto beanshell2 ha realizado una serie de correcciones y mejoras a BeanShell y varias versiones. A partir de enero de 2020[actualizar], la última versión de BeanShell2 es v2.1.9, lanzada en marzo de 2018. [9] Desde el cierre de Google Code, el proyecto se ha alojado en GitHub . [10]
En diciembre de 2012, luego de una propuesta para aceptar BeanShell como un proyecto de Apache Incubator , [11] BeanShell obtuvo la licencia de The Apache Software Foundation y se migró a Apache Extras, [12] cambiando la licencia a Apache License 2.0 . El proyecto no fue aceptado, sino que se proyectó que se convertiría en parte de Apache Commons en el futuro.
Sin embargo, debido a cambios en las circunstancias personales de los desarrolladores, la comunidad BeanShell no completó el cambio a Apache, [13] sino que permaneció en Apache Extras. Desde entonces, el proyecto ha lanzado BeanShell 2.0b5, [12] que es utilizado por Apache OpenOffice y Apache Taverna .
En 2013 se creó un instalador automático de Windows, BeanShell Double-Click, [14]. Incluye funciones de integración de escritorio.
Ver también
- Lista de lenguajes JVM
- Comparación de lenguajes de programación
- Comparación de proyectiles de comando
Referencias
- ^ Niemeyer, Pat. "Licencia del software BeanShell" . beanshell.org . Consultado el 13 de enero de 2016 .
- ^ "BeanShell" . github.com . Consultado el 13 de enero de 2016 .
- ^ "Descargas de BeanShell" . beanshell.org . 2009-01-28 . Consultado el 28 de enero de 2015 .
- ^ "Paquete fuente: bsh (2.0b4-12)" . Debian . Consultado el 28 de enero de 2015 .
- ^ El programa Java Community Process (SM) - JSR: Solicitudes de especificación de Java - detalle JSR # 274 . Jcp.org. Consultado el 21 de julio de 2013.
- ^ "El programa Java Community Process (SM) - JSR: solicitudes de especificación de Java - resultados" . jcp.org .
- ^ "JEP 222: jshell: el shell de Java (bucle de lectura-evaluación-impresión)" . openjdk.java.net . Consultado el 3 de septiembre de 2015 .
- ^ beanshell2 - bifurcación de BeanShell - Alojamiento de proyectos de Google . Code.google.com (21 de noviembre de 2011). Consultado el 21 de julio de 2013.
- ^ Jodeleit, Peter. "README.md" . Consultado el 23 de enero de 2020 .
- ^ https://github.com/beanshell/beanshell GitHub - beanshell / beanshell: Beanshell2, un lenguaje de secuencias de comandos para la máquina virtual Java. Consultado el 6 de marzo de 2018.
- ^ Tripodi, S; Bazley, S (2012). "Propuesta de BeanShell" . Wiki de la incubadora . Fundación de software Apache.
- ^ a b "cáscara de frijol / cáscara de frijol" . 27 de enero de 2021 - a través de GitHub.
- ^ Tripodi, Simone (8 de enero de 2015). "¿Beanshell bajo Apache?" . Lista de correo de desarrolladores de Apache Taverna . Fundación de software Apache . Consultado el 28 de enero de 2015 .
- ^ BeanShell doble clic | Descargas de software de desarrollo gratuito en . Sourceforge.net. Consultado el 21 de julio de 2013.
enlaces externos
- Página web oficial
- BeanShell en Apache Extras