BeanShell

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

BeanShell
Date de première version Voir et modifier les données sur Wikidata
Paradigme Orienté objet, scripting
Auteur JCP
Dernière version 2.0b6 ()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

BeanShell est un langage de script proche de Java inventé par Patrick Niemeyer. 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 | modifier le code]

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[1], Apache Ant, le serveur d'applications WebLogic Server, jWork.ORG DataMelt, Apache JMeter[2], jEdit, ImageJ[3], SAUTER SIG, Apache Taverna[4] 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.

L'histoire[modifier | modifier le code]

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, culminant avec la version 2.0b4 en mai 2005, à compter de janvier 2015 est le plus récent de presse publié sur le site officiel[5].

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

BeanShell était en cours de normalisation par le Java Community Process (JCP) sous la JSR 274[7]. En juin 2005, la JSR 274 ne montre aucune activité visible[8]. 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é[9].

Une fourche de BeanShell, BeanShell2, est créé en mai 2007 avec Google Code[10]. 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[11].

En décembre 2012, à la suite de la proposition d'accepter BeanShell comme un projet d'Apache Incubator (en)[12], BeanShell est autorisé à l'Apache Software Foundation et a migré vers Apache Extras[13], modification de la licence de 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 les développeurs de la situation personnelle, l'ensemble des utilisateurs de BeanShell n'ont pas migré vers Apache[14], mais sont restés à Apache Extras. Le projet a depuis publié BeanShell 2.0b5[15], qui est utilisé par Apache OpenOffice et Apache Taverne.

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

Voir aussi[modifier | modifier le code]

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

Références[modifier | modifier le code]

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

Liens externes[modifier | modifier le code]