BeanShell

BeanShell

BeanShell ist eine dynamische Skriptsprache für die Java-VM von Pat Niemeyer. Sie erlaubt es, nahezu unveränderten Java-Code durch einen Interpreter auszuführen. Wie bei Python oder Perl wird der Code dabei vorher in einen Abstract Syntax Tree (AST) übersetzt. BeanShell wird gerne als Sprache für Makros eingesetzt, beispielsweise im Texteditor jEdit.

Neben klassischer Java-Syntax bietet BeanShell einige der für Skriptsprachen typischen Vereinfachungen wie dynamische Typisierung statt statischer Typisierung, globale Variablen und Funktionen, (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-Klassen zu erben oder beliebige Schnittstellen zu implementieren, lässt sie sich gut zusammen mit bestehenden Frameworks und Anwendungen einsetzen.

BeanShell erweitert die Java-Syntax besonders in folgenden zwei Punkten, wodurch eine höhere Produktivität erreicht werden soll.

  • Methoden (Funktionen) können selbst wieder Methoden enthalten, und sich selbst als Closure über die Rückgabe von this zum Objekt erheben.
  • Eine weitere Besonderheit ist die zusätzlich zur klassenbasierten zur Verfügung stehende Prototyp-basierte Objektorientierung.

Seit der Version 2.0 beta 4 vom 28. Mai 2005 wurde keine Version mehr veröffentlicht. Die Sprache ist jedoch stabil und ohne größere Fehler. Bisher unterstützt BeanShell nur wenige der syntaktischen Neuerungen in Java 1.5.

Eine 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.

Ähnliche Ansätze wie BeanShell verfolgen die Skriptsprachen Groovy, Jacl für Tcl, Rhino für JavaScript, Jython für Python und JRuby für Ruby.

Weblinks

  • Homepage (englisch)
  • JSR 274 will BeanShell standardisieren (englisch)
  • BeanShell2 Abspaltung nachdem die Arbeit am Hauptprojekt eingestellt wurde

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • BeanShell — Класс языка: Объектно ориентированный, скриптовый Появился в …   Википедия

  • BeanShell — Infobox programming language name = BeanShell logo = paradigm = object oriented, scripting year = 2000 designer = JCP developer = latest release version = 1.3.0 latest release date = latest test version = 2.0b4 latest test date = typing = dynamic …   Wikipedia

  • Comparison of command shells — For more details on this topic, see Shell (computing). A command shell is a command line interface computer program to an operating system. Contents 1 General characteristics 2 Interactive features 3 Programming features …   Wikipedia

  • Сравнение командных оболочек — Подробнее по этой теме см.: Оболочка операционной системы. Командная оболочка  это компьютерная программа с интерфейсом командной строки операционной системы. Содержание 1 Общие характеристики 2 Интеракти …   Википедия

  • ZK Framework — Infobox Software name = ZK caption = Simple and Rich latest release version = 3.5.1 latest release date = release date|2008|10|08 operating system = Cross platform (JVM) genre = Ajax Web Framework license = GNU General Public License / Commercial …   Wikipedia

  • Bean Sheet — is a BeanShell based spreadsheet. Due to its use of BeanShell , it enjoys full interoperability with Java libraries as well as BeanShell scripted code. As a result, Bean Sheet combines features of procedural programming, object oriented… …   Wikipedia

  • Liste von Hallo-Welt-Programmen/Programmiersprachen — Dies ist eine Liste von Hallo Welt Programmen für gebräuchliche Programmiersprachen. Weitere Beispiele für grafische Benutzeroberflächen, Web Technologien, exotische Programmiersprachen und Textauszeichnungssprachen sind unter Liste von Hallo… …   Deutsch Wikipedia

  • SL4A — Тип Библиотека Написана на C и Java Операционная система Android Последняя версия (Шаблон:Release date) Тестовая версия (Шаблон:Release date) Лицензия …   Википедия

  • Bean Scripting Framework — Infobox Software name = Bean Scripting Framework caption = developer = Apache Software Foundation latest release version = 2.4.0 latest release date = October 6, 2006 latest preview version = latest preview date = operating system = Cross… …   Wikipedia

  • Shell (computing) — A shell is a piece of software that provides an interface for users of an operating system which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”