BeanShell

BeanShell è un linguaggio di scripting dinamico per Java - VM di Pat Niemeyer . Consente a un interprete di eseguire codice Java praticamente invariato . Come con Python o Perl , il codice viene prima tradotto in un Abstract Syntax Tree (AST). BeanShell viene spesso utilizzato come linguaggio per le macro , ad esempio nell'editor di testo jEdit , in Apache JMeter e in Apache ANT .

Oltre alla classica sintassi Java , BeanShell offre alcune delle semplificazioni tipiche dei linguaggi di scripting, come la digitazione dinamica invece della digitazione statica , le variabili e le funzioni globali, l' accesso riflessivo (limitato) al programma stesso e simili. La sintassi è molto simile a quella del Java originale, il che rende facile per i programmatori Java passare da una lingua all'altra o tradurre. Poiché BeanShell è in grado di ereditare da classi Java esistenti o di implementare qualsiasi interfaccia , può essere utilizzato bene insieme a framework e applicazioni esistenti .

BeanShell estende la sintassi Java soprattutto nei seguenti due punti, per cui si vuole ottenere una maggiore produttività.

Il codice è stato trasferito alla Fondazione Apache, ma lì non ha raggiunto lo stato del progetto.

Dalla versione 2.0b6 del 5 febbraio 2016, non è stata rilasciata alcuna versione. Tuttavia, la lingua è stabile. Finora, BeanShell supporta solo alcune delle innovazioni sintattiche in Java 1.5.

Uno spin-off con il nome BeanShell2 ha avuto luogo nel maggio 2007 su Google Code . Il progetto ha rilasciato una serie di correzioni e miglioramenti a BeanShell. Ci sono sforzi per riunire di nuovo le due versioni.

Le alternative a BeanShell sono Groovy , Jacl per Tcl , Rhino per JavaScript , Jython per Python e JRuby per Ruby , dove Groovy, Jython e JRuby, a differenza di BeanShell, sono entrambi linguaggi di uso generale e linguaggi di scripting. La sintassi Groovy, come BeanShell, è compatibile con Java, ma offre anche estensioni come l' interpolazione di stringhe o il supporto DSL .

link internet