Bohnenschale - BeanShell

Bohnenschale
Paradigma Objektorientiert , Scripting
Entworfen von JCP
Erstmals erschienen 1999 ; Vor 22 Jahren ( 1999 )
Stabile Version
2.1.0 / 22. Dezember 2020 ; vor 6 Monaten ( 2020-12-22 )
Schreibdisziplin Dynamisch , stark
Implementierungssprache Java
Plattform JVM
Betriebssystem Plattformübergreifend
Lizenz 2012: Apache-2.0
2001: nur SPL-1.0 oder LGPL-2.1
1999: nur LGPL-2.1
Webseite github .com /bohnenschale /bohnenschale
Beeinflusst von
Java , JavaScript , Perl,

BeanShell ist ein kleiner, kostenloser, einbettbarer Java-Quellinterpreter mit Objektskript-Sprachfunktionen, der in Java geschrieben ist . Es läuft in der Java Runtime Environment (JRE), führt dynamisch die Standard-Java-Syntax aus und erweitert sie um gängige Skriptfunktionen wie lose Typen, Befehle und Methodenschließungen wie in Perl und JavaScript.

Eigenschaften

Während BeanShell seinen Benutzern erlaubt, Funktionen zu definieren , die aus einem Skript heraus aufgerufen werden können, bestand seine zugrunde liegende Philosophie darin, seine Syntax nicht mit zu vielen Erweiterungen und „ syntaktischem Zucker “ zu verschmutzen , wodurch sichergestellt wird, dass Code, der für einen Java- Compiler geschrieben wurde, normalerweise ausgeführt werden kann interpretierend von BeanShell ohne Änderungen und fast genauso umgekehrt. Dies macht BeanShell zu einem beliebten Test- und Debugging- Tool für die Java Virtual Machine (JVM)-Plattform.

BeanShell unterstützt skriptgesteuerte Objekte als einfache Methoden- Closures wie in Perl und JavaScript .

BeanShell ist ein Open-Source- Projekt und wurde in viele Anwendungen wie Apache OpenOffice , Apache Ant , WebLogic Server Application Server, Apache JMeter , jEdit , ImageJ , JUMP GIS , Apache Taverna und viele andere integriert. BeanShell bietet eine einfach zu integrierende Anwendungsprogrammierschnittstelle (API). Es kann auch im Befehlszeilenmodus oder in seiner eigenen grafischen Umgebung ausgeführt werden.

Geschichte

Die ersten Versionen von BeanShell (0.96, 1.0) wurden 1999 von Patrick Niemeyer veröffentlicht, gefolgt von einer Reihe von Versionen. BeanShell 1.3.0 wurde im August 2003 veröffentlicht. Version 2.0b1 wurde im September 2003 veröffentlicht und gipfelte in Version 2.0b4 im Mai 2005, die ab Januar 2015 die neueste Version ist, die auf der offiziellen Webseite veröffentlicht wurde.

BeanShell ist seit 1999 in der Linux-Distribution Debian enthalten .

BeanShell wurde durch den Java Community Process (JCP) unter JSR 274 standardisiert .

Nach der Genehmigung des BeanShell JSR Review Ballot durch das JCP im Juni 2005 fanden keine sichtbaren Aktivitäten rund um BeanShell statt. Der JSR 274-Status ist "ruhend".

Seit Java 9 enthält Java stattdessen JShell , eine andere Read-Eval-Print-Loop (REPL) -Shell basierend auf Java-Syntax, die anzeigt, dass BeanShell nicht fortgesetzt wird.

Eine Abzweigung von BeanShell, BeanShell2 , wurde im Mai 2007 auf der inzwischen nicht mehr existierenden Google Code- Website erstellt. Das Projekt beanshell2 hat eine Reihe von Korrekturen und Verbesserungen an BeanShell und mehreren Versionen vorgenommen. Ab Januar 2020 ist die neueste Version von BeanShell2 v2.1.9, veröffentlicht im März 2018. Seit der Schließung von Google Code wird das Projekt auf GitHub gehostet .

Im Dezember 2012 wurde BeanShell nach einem Vorschlag, BeanShell als Apache Incubator- Projekt zu akzeptieren , an die Apache Software Foundation lizenziert und auf Apache Extras migriert, wodurch die Lizenz in Apache License 2.0 geändert wurde . Das Projekt wurde nicht angenommen, sondern soll zu einem späteren Zeitpunkt Teil der Apache Commons werden.

Aufgrund veränderter persönlicher Umstände der Entwickler vollzog die BeanShell-Community den Umstieg auf Apache jedoch nicht, sondern blieb bei Apache Extras. Das Projekt hat inzwischen BeanShell 2.0b5 veröffentlicht, das von Apache OpenOffice und Apache Taverna verwendet wird .

Ein automatisiertes Windows-Installationsprogramm, BeanShell Double-Click, wurde 2013 erstellt. Es enthält Desktop-Integrationsfunktionen.

Siehe auch

Anmerkungen

Verweise

Externe Links