BeanShell

BeanShell er et dynamisk script-sprog til Java - VM af Pat Niemeyer . Det gør det muligt at udføre næsten uændret Java-kode af en tolk . Som med Python eller Perl oversættes koden til et abstrakt syntaks-træ (AST) på forhånd . BeanShell bruges ofte som et sprog til makroer , for eksempel i teksteditoren jEdit , i Apache JMeter og i Apache ANT .

Ud over klassisk Java-syntaks , tilbyder BeanShell nogle af de forenklinger, der er typiske for scripting-sprog, såsom dynamisk skrivning i stedet for statisk skrivning , globale variabler og funktioner , (begrænset) refleksiv adgang til selve programmet og lignende. Syntaksen er dog meget lig den originale Java, hvilket gør det let for Java-programmører at skifte mellem de to sprog eller at oversætte. Da BeanShell er i stand til at arve fra eksisterende Java- klasser eller implementere eventuelle grænseflader , kan den bruges godt sammen med eksisterende rammer og applikationer.

BeanShell udvider Java-syntaksen især i de følgende to punkter, hvorved en højere produktivitet skal opnås.

Koden blev overført til Apache Foundation, men nåede ikke projektstatus der.

Fra version 2.0b6 den 5. februar 2016 blev der ikke offentliggjort flere versioner. Sproget er dog stabilt. Indtil videre understøtter BeanShell kun nogle få af de syntaktiske innovationer i Java 1.5.

En spin-off med navnet BeanShell2 fandt sted i maj 2007 på Google Code . Projektet har frigivet en række rettelser og forbedringer af BeanShell. Der er bestræbelser på at bringe de to versioner sammen igen.

Alternativer til BeanShell er Groovy , Jacl til Tcl , Rhino til JavaScript , Jython til Python og JRuby til Ruby , hvor Groovy, Jython og JRuby, i modsætning til BeanShell, begge er sprog til generelle formål og script-sprog. Groovy-syntaksen er ligesom BeanShell Java-kompatibel, men tilbyder også udvidelser som strenginterpolering eller DSL- understøttelse.

Weblinks