BeanShell
| Company type | Open source software |
|---|---|
| Industry | Software development |
| Founded | 1999 |
| Founder | Patrick Niemeyer |
Area served | Worldwide |
| Products | Java source interpreter, scripting language |
| Website | https://github.com/bean-shell/beanshell |
BeanShell is a compact, free-to-use Java source interpreter that can be embedded and offers object scripting capabilities, developed using Java. Operating on the Java Runtime Environment (JRE), it interprets standard Java syntax dynamically while incorporating scripting conveniences such as flexible typing, commands, and method closures reminiscent of Perl and JavaScript.
Features
Users can define functions within BeanShell scripts that are callable, adhering to a design principle of minimal syntax extension to preserve compatibility. Typically, code compiled for a Java compiler executes interpretively on BeanShell without alterations, and the reverse is also true. This interoperability positions BeanShell as a popular testing and debugging tool within the Java virtual machine (JVM) ecosystem.
It facilitates scripted objects implemented as straightforward method closures, similar to those found in Perl and JavaScript.
As an open source initiative, BeanShell is embedded in various software such as Apache OpenOffice, Apache Ant, WebLogic Server, Apache JMeter, jEdit, ImageJ, JUMP GIS, and Apache Taverna. It provides a user-friendly application programming interface (API) and can operate both in command-line mode and through its dedicated graphical interface.
History
Created by Patrick Niemeyer in 1999, BeanShell debuted with versions 0.96 and 1.0, followed by successive updates. The release of version 1.3.0 occurred in August 2003, while version 2.0b4, issued in May 2005, remains the latest official version as of January 2015.
Included in the Debian Linux distribution since 1999, BeanShell underwent formalization through the Java Community Process (JCP) under JSR 274. After receiving approval from the JCP in June 2005, active development halted, rendering the JSR 274 status "Dormant."
The introduction of JShell with Java 9—a new REPL shell based on Java syntax—led to a decline in BeanShell's ongoing development.
In May 2007, an offshoot called BeanShell2 was launched on Google Code, providing bug fixes and enhancements through multiple releases. The most recent BeanShell2 version as of January 2020 was 2.1.9 (March 2018). This fork was reintegrated into the original project in 2018, unifying improvements and hosting the main code repository on GitHub.
In December 2012, BeanShell was licensed to The Apache Software Foundation and moved under Apache Extras with an Apache License 2.0. Although it was not accepted as an Apache Incubator project, plans existed for its inclusion in Apache Commons. Due to developer availability issues, this migration remained unfinished, leaving BeanShell within Apache Extras.
The project issued BeanShell 2.0b5, which is actively used by Apache OpenOffice and Apache Taverna.
In 2013, a Windows automated installer named BeanShell Double-Click was introduced, featuring desktop integration aimed at improving user convenience.