Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Features  





2 History  





3 See also  





4 Notes  





5 References  





6 External links  














BeanShell






Deutsch
فارسی
Français
Magyar

Português
Türkçe
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


BeanShell
ParadigmObject-oriented, scripting
Designed byJCP
First appeared1999; 25 years ago (1999)
Stable release

2.1.1[1] / 2 December 2022; 19 months ago (2 December 2022)

Typing disciplineDynamic, strong
Implementation languageJava
PlatformJVM
OSCross-platform
License2012: Apache-2.0[a][2][3]
2001: SPL-1.0orLGPL-2.1-only[b][4]
1999: LGPL-2.1-only[c][5]
Websitegithub.com/beanshell/beanshell
Influenced by
Java, JavaScript, Perl

BeanShell is a small, free, embeddable Java source interpreter with object scripting language features, written in Java. It runs in the Java Runtime Environment (JRE), dynamically executes standard Java syntax and extends it with common scripting conveniences such as loose types, commands, and method closures, like those in Perl and JavaScript.

Features

[edit]

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 usually 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 Java virtual machine (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, Apache JMeter, jEdit, ImageJ, JUMP GIS, Apache Taverna, and many others. BeanShell provides an easy to integrate application programming interface (API). It can also be run in command-line mode or within its own graphical environment.

History

[edit]

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.[6]

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

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

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

Since Java 9, Java instead includes JShell, a different read–eval–print loop (REPL) shell based on Java syntax, indicating that BeanShell will not be continued.[10]

Afork of BeanShell, BeanShell2, was created in May 2007 on the now-defunct Google Code Web site.[11] The beanshell2 project has made a number of fixes and enhancements to BeanShell and multiple releases. As of January 2020, the latest version of BeanShell2 is v2.1.9, released March 2018.[12] This fork was merged back into the original tree in 2018,[13] retaining all the independent changes from both, and the official project has been hosted at GitHub.[14]

In December 2012, following a proposal to accept BeanShell as an Apache Incubator project,[15] BeanShell was licensed to The Apache Software Foundation and migrated to the Apache Extras,[16] changing the license to Apache License 2.0. The project was not accepted but instead projected to become part of the Apache Commons at a future time.

Due to changes in the developers' personal circumstances, the BeanShell community did not, however, complete the move to Apache,[17] 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,[18] was created in 2013. It includes desktop integration features.

See also

[edit]

Notes

[edit]
  1. ^ Apache-2.0: Since 2.0b5
  • ^ SPL-1.0 or LGPL-2.1-only: From 1.1alpha5 to 2.0b4
  • ^ LGPL-2.1-only: 1.0 to 1.1alpha3
  • References

    [edit]
    1. ^ "Release 2.1.1". 2 December 2022. Retrieved 7 December 2022.
  • ^ Niemeyer, Pat. "BeanShell Software License". beanshell.org. Retrieved January 13, 2016.
  • ^ "BeanShell". github.com. Retrieved January 13, 2016.
  • ^ "CHANGES.md". GitHub.
  • ^ "License.txt in 1.0". GitHub.
  • ^ "BeanShell Downloads". beanshell.org. 2009-01-28. Retrieved 28 January 2015.
  • ^ "Source Package: bsh (2.0b4-12)". Debian. Retrieved 28 January 2015.
  • ^ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 274. Jcp.org. Retrieved on 2013-07-21.
  • ^ "The Java Community Process(SM) Program - JSRs: Java Specification Requests - results". jcp.org.
  • ^ "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". openjdk.java.net. Retrieved 2015-09-03.
  • ^ beanshell2 - fork of BeanShell - Google Project Hosting. Code.google.com (2011-11-21). Retrieved on 2013-07-21.
  • ^ Jodeleit, Peter. "README.md". GitHub. Retrieved 23 January 2020.
  • ^ "Fork to investigate possible merge · Issue #46 · beanshell/Beanshell". GitHub.
  • ^ https://github.com/beanshell/beanshell GitHub - beanshell/beanshell: Beanshell, a scripting language for the Java Virtual Machine. Retrieved on 2018-03-06.
  • ^ Tripodi, S; Bazley, S (2012). "BeanShell proposal". Incubator Wiki. Apache Software Foundation.
  • ^ a b "beanshell/beanshell". January 27, 2021 – via GitHub.
  • ^ Tripodi, Simone (2015-01-08). "Beanshell under Apache?". Apache Taverna developer mailing list. Apache Software Foundation. Retrieved 28 January 2015.
  • ^ BeanShell Double-Click | Free Development software downloads at. Sourceforge.net. Retrieved on 2013-07-21.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=BeanShell&oldid=1202844821"

    Categories: 
    Scripting languages
    Java programming language family
    JVM programming languages
    Dynamically typed programming languages
    Java specification requests
    Software using the LGPL license
    Software using the Apache license
    Hidden categories: 
    Articles containing potentially dated statements from January 2020
    All articles containing potentially dated statements
     



    This page was last edited on 3 February 2024, at 17:06 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki