BeanShell
Paradigm | Object-oriented, scripting |
---|---|
Designed by | JCP |
First appeared | 2000 |
Stable release | 1.3.0
|
Preview release | 2.0b4
|
Typing discipline | Dynamic, strong |
Platform | JVM |
OS | Cross-platform |
License | LGPL |
Website | http://www.beanshell.org/ |
Influenced by | |
Java |
BeanShell is a Java scripting language, invented by Patrick Niemeyer. It runs in the Java Runtime Environment (JRE) and uses 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.
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 OpenOffice.org, Apache Ant, WebLogic Server Application Server, jEdit, JUMP GIS, Android Scripting Environment 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.
BeanShell was undergoing standardization through the Java Community Process (JCP) under JSR 274.
Following the JCP approval of the BeanShell JSR Review Ballot in June 2005, no visible activity was taking place around BeanShell. The JSR 274 status is "inactive".
A fork of BeanShell, BeanShell2, was created in May 2007 on the Google Code website. The beanshell2 project has made a number of fixes and enhancements to BeanShell.
See also
- List of JVM languages
- List of CLI languages
- Comparison of programming languages
- Comparison of computer shells