BeanShell

BeanShell
Paradigm Object-oriented, scripting
Designed by JCP
First appeared 1999 (1999)
Stable release 1.3.0 / August 2003 (2003-08)
Preview release 2.0b6 / February 18, 2016 (2016-02-18)
Typing discipline Dynamic, strong
Implementation language Java
Platform JVM
OS Cross-platform
License Apache v2.0,
SPL / LGPL (Versions 2.0b4 and earlier)[1][2]
Website www.beanshell.org
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.

Features

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,[3] Apache Ant, WebLogic Server Application Server, jWork.ORG DataMelt, Apache JMeter,[4] jEdit, ImageJ,[5] JUMP GIS, Apache Taverna[6] 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.

History

The first versions of BeanShell (0.96, 1.0) were released by Patrick Niemeyer in 1999, followed by a series of versions. BeanShell 1.3.0 was released in August 2003. Version 2.0b1 was released in September 2003, culminating with version 2.0b4 in May 2005, which as of January 2015 is the newest release posted on the official webpage.[7]

BeanShell has been included in the Linux distribution Debian since 1999.[8]

BeanShell was undergoing standardization through the Java Community Process (JCP) under JSR 274.[9]

Following the JCP approval of the BeanShell JSR Review Ballot in June 2005, no visible activity was taking place around BeanShell.[10] The JSR 274 status is "Dormant".

Java REPL (JShell) is currently targeted for Java 9.[11]

A fork of BeanShell, BeanShell2, was created in May 2007 on the Google Code website.[12] The beanshell2 project has made a number of fixes and enhancements to BeanShell and multiple releases. As of January 2015, the latest version of beanshell2 is v2.1.8 released February 2014.

In December 2012, following a proposal to accept BeanShell as an Apache incubator project,[13] BeanShell was licensed to the Apache Software Foundation and migrated to the Apache Extras,[14] changing the license to Apache License 2.0. The project was accepted, and projected to become part of the Apache Commons.

Due to changes in the developers' personal circumstances, the BeanShell community did however not complete the move to Apache,[15] but remained at Apache Extras. The project has since released BeanShell 2.0b5,[16] which is used by Apache OpenOffice and Apache Taverna.

A Windows automated installer, BeanShell Double-Click,[17] was created in 2013. It includes desktop integration features.

See also

References

  1. Niemeyer, Pat. "BeanShell Software License". beanshell.org. Retrieved January 13, 2016.
  2. "BeanShell website=github.com". Retrieved January 13, 2016.
  3. "Writing Scripts in BeanShell, JavaScript and Java". Apache OpenOffice. Apache Software Foundation. 2003-11-28. Retrieved 28 January 2015.
  4. "Component Reference: BeanShell Sampler". Apache JMeter User`s Manual. Apache Software Foundation. 2014-11-05. Retrieved 28 January 2015.
  5. "BeanShell Scripting". ImageJ wiki. 2014-07-17. Retrieved 28 January 2015.
  6. "Beanshell". Taverna User Manual. myGrid. 2014-09-04. Retrieved 28 January 2015.
  7. "BeanShell Downloads". beanshell.org. 2009-01-28. Retrieved 28 January 2015.
  8. "Source Package: bsh (2.0b4-12)". Debian. Retrieved 28 January 2015.
  9. The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 274. Jcp.org. Retrieved on 2013-07-21.
  10. http://jcp.org/en/jsr/results?id=3208
  11. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". openjdk.java.net. Retrieved 2015-09-03.
  12. beanshell2 - fork of BeanShell - Google Project Hosting. Code.google.com (2011-11-21). Retrieved on 2013-07-21.
  13. Tripodi, S; Bazley, S (2012). "BeanShell proposal". Incubator Wiki. Apache Software Foundation.
  14. BeanShell project at Apache Extras
  15. Tripodi, Simone (2015-01-08). "Beanshell under Apache?". Apache Taverna developer mailing list. Apache Software Foundation. Retrieved 28 January 2015.
  16. BeanShell 2.0b5
  17. BeanShell Double-Click | Free Development software downloads at. Sourceforge.net. Retrieved on 2013-07-21.

External links

This article is issued from Wikipedia - version of the Sunday, April 10, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.