BeanShell

langage de programmation

BeanShell est un langage de script proche de Java inventé par Patrick Niemeyer.

BeanShell
Date de première version Voir et modifier les données sur Wikidata
Paradigme Orienté objet, scripting
Auteur JCP
Dernière version 2.1.1 ()[1]Voir et modifier les données sur Wikidata
Typage Dynamic, strong
Influencé par Java
JavaScript
PerlVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Système d'exploitation Cross-platform
Licence Licence Apache et licence publique générale limitée GNUVoir et modifier les données sur Wikidata
Site web www.beanshell.orgVoir et modifier les données sur Wikidata

Il s'exécute dans l'Environnement d'Exécution Java (JRE) et utilise une variante de la syntaxe Java, en plus des commandes de script et de la syntaxe.

Caractéristiques

modifier

BeanShell permet à ses utilisateurs de définir des fonctions qui peuvent être appelées à partir d'un script. Le choix a par ailleurs été fait de ne pas encombrer sa syntaxe avec trop d'extensions ni de sucre syntaxique, dans le but qu'un code écrit pour un compilateur Java puisse généralement être interprété par BeanShell sans nécessiter de changement et réciproquement. Cela fait de BeanShell un outil de test et de débogage populaire pour la machine virtuelle Java (JVM).

BeanShell prend en charge les objets scriptés ainsi que les fermetures avec des méthodes simples, comme ceci est également possible en Perl et en JavaScript.

BeanShell est un projet open source et a été intégré dans de nombreuses applications, telles qu'Apache OpenOffice[2], Apache Ant, le serveur d'applications WebLogic Server, jWork.ORG DataMelt, Apache JMeter[3], jEdit, ImageJ[4], SAUTER SIG, Apache Taverna[5] et beaucoup d'autres. BeanShell fournit une interface de programmation d'application (API) le rendant facilement intégrable. Il peut également être exécuté en ligne de commande ou à l'intérieur de son propre environnement graphique.

Histoire

modifier

Les premières versions de BeanShell (0.96, 1.0) ont été rendues publiques par Patrick Niemeyer en 1999, suivi par une série de versions. BeanShell 1.3.0 a été publié en août 2003. La Version 2.0b1 a été publié en septembre 2003, et culmine avec la version 2.0b4 en mai 2005, qui est encore, en janvier 2021, la version la plus récente publiée sur le site officiel[6].

BeanShell a été inclus dans la distribution Linux Debian depuis 1999[7].

BeanShell était en cours de normalisation par le Java Community Process (JCP) sous la JSR 274[8]. En juin 2005, la JSR 274 ne montre aucune activité visible[9]. La JSR 274 est à l'état Dormant.

Depuis Java 9, Java inclut JShell (en), un REPL (Read-eval-print loop (en)) différent, basé sur la syntaxe Java. Ceci indique que le projet BeanShell ne sera pas continué[10].

Une fourche de BeanShell, BeanShell2, est créée en mai 2007 avec Google Code[11]. Le projet BeanShell2 a apporté un certain nombre de corrections et améliorations de BeanShell et de multiples versions. À compter de janvier 2015 la dernière version de BeanShell2 est v2.1.8, publié en février 2014. Depuis la fermeture de Google Code, le projet est hébergé sur GitHub[12].

En décembre 2012, à la suite de la proposition d'accepter BeanShell comme un projet d'Apache Incubator (ru)[13], BeanShell est autorisé à l'Apache Software Foundation et a migré vers Apache Extras[14], changeant la licence en Licence Apache 2.0. Le projet n'a pas été accepté, mais devrait devenir à la place une partie de l'Apache Commons.

En raison de changements dans la situation personnelle des développeurs, l'ensemble des utilisateurs de BeanShell n'ont pas migré vers Apache[15], mais sont restés à Apache Extras. Le projet a depuis publié BeanShell 2.0b5[16], qui est utilisé par Apache OpenOffice et Apache Taverne.

Un programme d'installation automatisée Windows, BeanShell Double-Click[17], a été créé en 2013. Il comprend le bureau des fonctionnalités d'intégration.

Voir aussi

modifier
  • Liste des langages de la JVM
  • Comparaison des langages de programmation
  • Comparaison des interfaces de commande

Références

modifier
  1. a et b « Release 2.1.1 », (consulté le )
  2. « Writing Scripts in BeanShell, JavaScript and Java », sur Apache OpenOffice, Apache Software Foundation, (consulté le )
  3. « Component Reference: BeanShell Sampler », sur Apache JMeter User`s Manual, Apache Software Foundation, (consulté le )
  4. « BeanShell Scripting », sur ImageJ wiki, (consulté le )
  5. « Beanshell », sur Taverna User Manual, myGrid, (consulté le )
  6. « BeanShell Downloads », sur beanshell.org, (consulté le )
  7. « Source Package: bsh (2.0b4-12) », sur Debian (consulté le )
  8. The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 274, Jcp.org
  9. « The Java Community Process(SM) Program », sur jcp.org (consulté le ).
  10. « JEP 222: jshell: The Java Shell (Read-Eval-Print Loop) », sur openjdk.java.net (consulté le )
  11. beanshell2 - fork of BeanShell - Google Project Hosting. Code.google.com (2011-11-21). Retrieved on 2013-07-21.
  12. https://github.com/pejobo/beanshell2 GitHub - pejobo/beanshell2: Beanshell2, a scripting language for the Java Virtual Machine. Retrieved on 2018-03-06.
  13. Tripodi, S et Bazley, S, « BeanShell proposal », sur Incubator Wiki, Apache Software Foundation,
  14. BeanShell project at Apache Extras
  15. Simone Tripodi, « Beanshell under Apache? », sur Apache Taverna developer mailing list, Apache Software Foundation, (consulté le )
  16. BeanShell 2.0b5
  17. BeanShell Double-Click | Free Development software downloads at. Sourceforge.net. Retrieved on 2013-07-21.

Liens externes

modifier