BeanShell es un intérprete de código fuente Java pequeño, gratuito e integrable, con características de lenguaje de scripting orientado a objetos , escrito en Java . Se ejecuta en la máquina virtual Java (JVM), también conocida como entorno de ejecución Java (JRE), ejecuta dinámicamente la sintaxis estándar de Java y la amplía con funcionalidades comunes de scripting, como tipos flexibles, comandos y cierres de métodos , similares a los de Perl y JavaScript . Es software libre y de código abierto, distribuido bajo la licencia Apache 2.0 desde la versión BeanShell 2.0b5.
Características
Si bien BeanShell permite definir funciones que se pueden llamar desde un script, su filosofía fundamental ha sido no sobrecargar su sintaxis con demasiadas extensiones y azúcar sintáctico , lo que garantiza que el código escrito para un compilador de Java generalmente se pueda ejecutar de forma interpretativa con BeanShell sin modificaciones y, casi con la misma frecuencia, viceversa. Esto convierte a BeanShell en una herramienta popular para probar y depurar código en la plataforma de la máquina virtual de Java (JVM).
BeanShell admite objetos programados como simples cierres de métodos , similares a los de Perl y JavaScript .
BeanShell, al ser un proyecto de código abierto , se ha integrado en numerosas aplicaciones, como Apache OpenOffice , Apache Ant , el servidor de aplicaciones WebLogic Server , Apache JMeter , jEdit , ImageJ , JUMP GIS , Apache Taverna y muchas otras. BeanShell proporciona una interfaz de programación de aplicaciones (API) de fácil integración . Puede ejecutarse en modo de línea de comandos o dentro de su propio entorno de interfaz gráfica de usuario .
Historia
Las primeras versiones de BeanShell (0.96, 1.0) fueron publicadas por Patrick Niemeyer en 1999, seguidas de una serie de versiones posteriores. BeanShell 1.3.0 se publicó en agosto de 2003. La versión 2.0b1 se publicó en septiembre de 2003, culminando con la versión 2.0b4 en mayo de 2005, que a fecha de enero de 2015 es la versión más reciente publicada en la página web oficial. [ 6 ]
BeanShell se ha incluido en la distribución Linux Debian desde 1999. [ 7 ]
BeanShell estaba en proceso de estandarización a través del Java Community Process (JCP) bajo JSR 274. [ 8 ]
Tras la aprobación por parte del JCP de la votación de revisión del JSR de BeanShell en junio de 2005, no se observó ninguna actividad en torno a BeanShell. [ 9 ] El estado del JSR 274 es "Inactivo".
Desde Java 9, Java incluye en su lugar JShell , un intérprete de comandos interactivo (REPL) diferente basado en la sintaxis de Java, lo que indica que BeanShell no continuará. [ 10 ]
Una bifurcación de BeanShell, BeanShell2 , fue creada en mayo de 2007 en el sitio web de Google Code , ahora desaparecido . [ 11 ] El proyecto beanshell2 ha realizado varias correcciones y mejoras a BeanShell y múltiples versiones. A partir de enero de 2020, la última versión de BeanShell2 es la v2.1.9, publicada en marzo de 2018. [ 12 ] Esta bifurcación se fusionó de nuevo con el árbol original en 2018, [ 13 ] conservando todos los cambios independientes de ambos, y el proyecto oficial se ha alojado en GitHub . [ 14 ]
En diciembre de 2012, tras una propuesta para aceptar BeanShell como proyecto de Apache Incubator, [ 15 ] BeanShell fue licenciado a The Apache Software Foundation y migrado a Apache Extras, [ 16 ] cambiando la licencia a Apache License 2.0 . El proyecto no fue aceptado, sino que se proyectó que pasaría a formar parte de Apache Commons en un futuro.
Debido a cambios en las circunstancias personales de los desarrolladores, la comunidad de BeanShell no completó la migración a Apache, [ 17 ] sino que permaneció en Apache Extras. Desde entonces, el proyecto ha lanzado BeanShell 2.0b5, [ 16 ] que es utilizado por Apache OpenOffice y Apache Taverna .
BeanShell Double-Click, [ 18 ] un instalador automatizado de Windows, fue creado en 2013. Incluye funciones de integración de escritorio.
Véase también
Notas
Referencias
- ↑ "Versión 2.1.1" . 2 de diciembre de 2022. Consultado el 7 de diciembre de 2022 .
- ↑ Niemeyer, Pat. "Licencia de software BeanShell" . beanshell.org . Consultado el 13 de enero de 2016 .
- ↑ "BeanShell" . github.com . Consultado el 13 de enero de 2016 .
- ↑ "Changes.md" . GitHub .
- ↑ "License.txt en 1.0" . GitHub .
- ↑ "Descargas de BeanShell" . beanshell.org . 28 de enero de 2009. Consultado el 28 de enero de 2015 .
- ↑ "Paquete fuente: bsh (2.0b4-12)" . Debian . Consultado el 28 de enero de 2015 .
- ↑ Programa Java Community Process(SM) - JSRs: Solicitudes de especificación de Java - detalle JSR# 274. Jcp.org. Consultado el 21 de julio de 2013.
- ↑ "El programa Java Community Process(SM) - JSRs: Java Specification Requests - results" . jcp.org .
- ↑ "JEP 222: jshell: El intérprete de comandos de Java (bucle de lectura-evaluación-impresión)" . openjdk.java.net . Consultado el 3 de septiembre de 2015 .
- ↑ beanshell2 - bifurcación de BeanShell - Google Project Hosting . Code.google.com (21/11/2011). Consultado el 21/07/2013.
- ↑ Jodeleit, Peter. "README.md" . GitHub . Consultado el 23 de enero de 2020 .
- ↑ "Bifurcación para investigar una posible fusión · Problema n.° 46 · beanshell/Beanshell" . GitHub .
- ↑ https://github.com/beanshell/beanshell GitHub - beanshell/beanshell: Beanshell, un lenguaje de scripting para la máquina virtual Java. Consultado el 6 de marzo de 2018.
- ↑ Tripodi, S; Bazley, S (2012). "Propuesta BeanShell" . Wiki de la incubadora . Fundación Apache Software.
- 1 2 "beanshell/beanshell" . 27 de enero de 2021 – vía GitHub.
- ↑ Tripodi, Simone (2015-01-08). "¿Beanshell bajo Apache?" . Lista de correo de desarrolladores de Apache Taverna . Apache Software Foundation . Recuperado el 28 de enero de 2015 .
- ↑ BeanShell Double-Click | Descarga gratuita de software de desarrollo en Sourceforge.net. Consultado el 21 de julio de 2013.
Enlaces externos
- BeanShell en GitHub
- BeanShell en Apache Extras
- Lenguajes de scripting
- Familia de lenguajes de programación Java
- Lenguajes de programación de la JVM
- Lenguajes de programación de tipado dinámico
- Solicitudes de especificación de Java
- Software que utiliza la Licencia Pública General Reducida de GNU.
- Software que utiliza la licencia Apache.
