Paradigm | Object-oriented, scripting |
---|---|
Designed by | JCP |
First appeared | 1999 |
Stable release |
1.3.0 / August 2003
|
Preview release |
2.0b6 / February 18, 2016
|
Typing discipline | Dynamic, strong |
Implementation language | Java |
Platform | JVM |
OS | Cross-platform |
License |
Apache v2.0, SPL / LGPL (Versions 2.0b4 and earlier) |
Website | www |
Influenced by | |
Java, JavaScript, Perl |
BeanShell is a Java-like scripting language, invented by Patrick Niemeyer. It runs in the Java Runtime Environment (JRE) and uses a variation of the Java syntax, in addition to scripting commands and syntax.
While BeanShell allows its users to define functions that can be called from within a script, its underpinning philosophy has been to not pollute its syntax with too many extensions and "syntactic sugar", thereby ensuring that code written for a Java compiler can almost always be executed interpretively by BeanShell without any changes and, almost just as much, vice versa. This makes BeanShell a popular testing and debugging tool for the JVM platform.
BeanShell supports scripted objects as simple method closures like those in Perl and JavaScript.
BeanShell is an open source project and has been incorporated into many applications, such as Apache OpenOffice,Apache Ant, WebLogic Server Application Server, jWork.ORG DataMelt, Apache JMeter,jEdit, ImageJ,JUMP GIS, Apache Taverna and many others. BeanShell provides an easy to integrate API. It can also be run in command-line mode or within its own graphical environment.