<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=BeanShell</id>
	<title>BeanShell - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=BeanShell"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=BeanShell&amp;action=history"/>
	<updated>2026-05-18T17:17:10Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=BeanShell&amp;diff=166394&amp;oldid=prev</id>
		<title>imported&gt;Thomas Dresler: Format</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=BeanShell&amp;diff=166394&amp;oldid=prev"/>
		<updated>2025-05-04T09:14:36Z</updated>

		<summary type="html">&lt;p&gt;Format&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;BeanShell&amp;#039;&amp;#039;&amp;#039; ist eine dynamische [[Skriptsprache]] für die [[Java (Programmiersprache)|Java]]-[[Virtuelle Maschine|VM]] von [[Pat Niemeyer]]. Sie erlaubt es, nahezu unveränderten Java-Code durch einen [[Interpreter]] auszuführen. Wie bei [[Python (Programmiersprache)|Python]] oder [[Perl (Programmiersprache)|Perl]] wird der Code dabei vorher in einen &amp;#039;&amp;#039;[[Abstract Syntax Tree]]&amp;#039;&amp;#039; (AST) übersetzt. BeanShell wird gerne als Sprache für [[Makro]]s eingesetzt, beispielsweise im Texteditor [[jEdit]], in [[Apache JMeter]] und in [[Apache Ant|Apache ANT]].&lt;br /&gt;
&lt;br /&gt;
Neben klassischer [[Java-Syntax]] bietet BeanShell einige der für Skriptsprachen typischen Vereinfachungen wie [[dynamische Typisierung]] statt [[Statische Typisierung|statischer Typisierung]], globale [[Variable (Programmierung)|Variablen]] und [[Funktion (Programmierung)|Funktion]]en, (eingeschränkten) reflexiven Zugriff auf das Programm selbst und Ähnliches. Die Syntax ist allerdings stark an die des originalen Java angelehnt, was es für Java-Programmierer leicht macht, zwischen beiden Sprachen zu wechseln oder zu übersetzen. Da BeanShell in der Lage ist, von bestehenden Java-[[Klasse (Objektorientierung)|Klassen]] zu erben oder beliebige [[Schnittstelle]]n zu implementieren, lässt sie sich gut zusammen mit bestehenden [[Framework]]s und Anwendungen einsetzen.&lt;br /&gt;
&lt;br /&gt;
BeanShell erweitert die Java-Syntax besonders in folgenden zwei Punkten, wodurch eine höhere Produktivität erreicht werden soll:&lt;br /&gt;
* [[objektorientierte Programmierung|Methoden]] (Funktionen) können selbst wieder Methoden enthalten und sich selbst als [[Closure (Funktion)|Closure]] über die Rückgabe von &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; zum [[objektorientierte Programmierung|Objekt]] erheben.&lt;br /&gt;
* Eine weitere Besonderheit ist die zusätzlich zur klassenbasierten zur Verfügung stehende [[Prototyp (Entwurfsmuster)|Prototyp]]-basierte [[Objektorientierung]].&lt;br /&gt;
&lt;br /&gt;
Der Code wurde an die Apache Foundation übertragen, erreichte dort aber nicht den Projekt-Status.&lt;br /&gt;
&lt;br /&gt;
Nach Version 2.0b6 vom 5. Februar 2016 wurde am 22. Dezember 2020 Version 2.1.0 veröffentlicht. Die Sprache ist jedoch stabil. Bisher unterstützt BeanShell nur wenige der syntaktischen Neuerungen in Java 1.5.&lt;br /&gt;
&lt;br /&gt;
Eine [[Abspaltung (Softwareentwicklung)|Abspaltung]] mit dem Namen BeanShell2 erfolgte im Mai 2007 auf [[Google Code]]. Das Projekt hat eine Reihe von Korrekturen und Verbesserungen an BeanShell veröffentlicht. Es gibt Bestrebungen, die beiden Versionen wieder zusammenzuführen.&lt;br /&gt;
&lt;br /&gt;
Alternativen zu BeanShell sind [[Groovy]], [[Jacl]] für [[Tcl]], [[Rhino (Programmierung)|Rhino]] für [[JavaScript]], [[Jython]] für [[Python (Programmiersprache)|Python]] und [[JRuby]] für [[Ruby (Programmiersprache)|Ruby]], wobei Groovy, Jython und JRuby, im Unterschied zu BeanShell, sowohl General-Purpose-Sprachen, als auch Skriptsprachen sind. Die Groovy-Syntax ist dabei, wie BeanShell, Java-kompatibel, bietet darüber hinaus aber Erweiterungen, wie [[String Interpolation]] oder [[Domänenspezifische Sprache|DSL]]-Unterstützung.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://beanshell.org Homepage] (englisch)&lt;br /&gt;
* [https://github.com/beanshell Sourcecode auf Github]&lt;br /&gt;
* [http://jcp.org/en/jsr/detail?id=274 JSR 274] will BeanShell standardisieren (englisch)&lt;br /&gt;
* [http://code.google.com/p/beanshell2/ BeanShell2] Abspaltung, nachdem die Arbeit am Hauptprojekt eingestellt wurde, bzw. [https://github.com/pejobo/beanshell2 Beanshell2] seit Google Code nur noch lesenden Zugriff unterstützt&lt;br /&gt;
* [http://openjdk.java.net/jeps/222 JEP 222: jshell] (englisch)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Skriptsprache]]&lt;br /&gt;
[[Kategorie:Java (Programmiersprache)]]&lt;br /&gt;
[[Kategorie:Programmiersprache für die Java Virtual Machine]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Thomas Dresler</name></author>
	</entry>
</feed>