Groovy (langage)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Groovy.
Groovy
Groovy.png

Apparu en 2003
Auteur Java Community Process
Paradigmes Objet, impératif
Influencé par Java, Python, Ruby, Smalltalk
Système d'exploitation Multiplate-forme
Site web groovy.codehaus.org

Groovy est le nom d'un langage de programmation orienté objet destiné à la plate-forme Java. Il constitue une alternative au langage Java pour cette plate-forme et est inspiré de Python, Ruby et Smalltalk. Il est l'objet de la spécification JSR 241.

Groovy utilise une syntaxe très proche de Java, avec des accolades, et est directement compilé, soit à la volée dynamiquement, soit classiquement avec un compilateur en bytecode.

Groovy s'intègre et est entièrement compatible avec la JVM étant donné que le bytecode est le même. Il peut donc

  • utiliser les bibliothèques Java,
  • être utilisé dans des classes Java.

Groovy peut être comparé à BeanShell, l'objectif de faire un langage de scripting proche de java est le même, la mise en œuvre étant différente.

Sommaire

Principales caractéristiques du langage

Groovy possède certaines caractéristiques qui le différencient du Java standard :

Comparaison entre Java et Groovy

Voici une comparaison de Java et Groovy :

Standard Java (Java 5+)

 class Filter {
     public static void main(String[] args) {
         for (String item : Arrays.asList("Rod", "Carlos", "Chris"))
             if (item.length() <= 4) System.out.println(item);
     }
 }

Groovy

 list = ["Rod", "Carlos", "Chris"]
 shorts = list.findAll { it.size() <= 4 }
 shorts.each { println it }

Langage de balisage (XML, HTML…)

Une des caractéristiques notables de Groovy est sa gestion native des langages de balisage comme XML et HTML. Cette prise en charge permet de définir et manipuler par programmation plusieurs types de structures avec une syntaxe commune.

Exemple :

ce code Groovy…

    import groovy.xml.MarkupBuilder
    def myXMLDoc = new MarkupBuilder()
    myXMLDoc.workbook {
       worksheet(caption:"Employees") {
          row(fname:"John", lname:"McDoe")
          row(fname:"Nancy", lname:"Davolio")
       }
       worksheet(caption:"Products") {
          row(name:"Veeblefeetzer", id:"sku34510")
          row(name:"Prune Unit Zappa", id:"sku3a550")
       }
    }
    println myXMLDoc

… produit le contenu XML suivant :

    <workbook>
       <worksheet caption='Employees'>
          <row fname="John" lname="McDoe" />
          <row fname="Nancy" lname="Davolio" />
       </worksheet>
       <worksheet caption='Products'>
          <row name="Veeblefeetzer" id="sku34510" />
          <row name="Prune Unit Zappa" id="sku3a550" />
       </worksheet>
    </workbook>

Autres exemples

Hello World
 print "hello word"
 
 def name='World'; println "Hello $name!"
Afficher une liste ordonnée de noms transformés en majuscule
 def names = ['Jean', 'John', 'Jill']
 println names.collect{ it.toUpperCase() }.sort()
Afficher les sept premiers carrés successifs de 2
 def num = 2G
 7.times {
   println "$num"
   num *= num
 }
2
4
16
256
65536
4294967296
18446744073709551616
Définir des classes utilisateur
class Person  {
  String name
  String givenname
  int age
  String sex
}
 
class User extends Person {
  String userid
  String email
}
 
def titi = new User(name: 'titi')
titi.userid = 'titi1412'
titi.email = 'titi@acme.org'
titi.age = 40
 
def rominet = new Person(name: 'rominet', age: 40, sex: 'uhum')
println "Hé ${rominet.name} , ici ${titi.name}, un vieux copain de promo. Ecris moi sur ${titi.email} !"

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Groovy (langage) de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Langage De Script — Un langage de script est un langage de programmation qui permet de manipuler les fonctionnalités d un système informatique configuré pour fournir à l interpréteur de ce langage un environnement et une interface qui déterminent les possibilités de …   Wikipédia en Français

  • Langage De Transformation XML — Un langage de transformation XML est un langage de programmation créé spécifiquement pour créer toute forme de document en sortie à partir d un document XML en entrée. Il y a deux cas spécifiques de transformation : XML vers XML : le… …   Wikipédia en Français

  • Langage de transformation xml — Un langage de transformation XML est un langage de programmation créé spécifiquement pour créer toute forme de document en sortie à partir d un document XML en entrée. Il y a deux cas spécifiques de transformation : XML vers XML : le… …   Wikipédia en Français

  • Langage De Description De Format De Document — Un langage de description de format de document est un langage permettant de définir un jeu de règles et contraintes qui seront utilisées pour savoir si une instance de document est valide par rapport à ce même jeu de règles et contraintes.… …   Wikipédia en Français

  • Langage de description — de format de document Un langage de description de format de document est un langage permettant de définir un jeu de règles et contraintes qui seront utilisées pour savoir si une instance de document est valide par rapport à ce même jeu de règles …   Wikipédia en Français

  • Langage Interprété Informatique — En informatique, un programme écrit en langage interprété est converti en instructions directement exécutables par la machine au moment de son exécution. Au contraire, un programme écrit en langage compilé est traduit en instructions lisibles par …   Wikipédia en Français

  • Langage interprete informatique — Langage interprété informatique En informatique, un programme écrit en langage interprété est converti en instructions directement exécutables par la machine au moment de son exécution. Au contraire, un programme écrit en langage compilé est… …   Wikipédia en Français

  • Langage interprété — informatique En informatique, un programme écrit en langage interprété est converti en instructions directement exécutables par la machine au moment de son exécution. Au contraire, un programme écrit en langage compilé est traduit en instructions …   Wikipédia en Français

  • Langage interprété informatique — En informatique, un programme écrit en langage interprété est converti en instructions directement exécutables par la machine au moment de son exécution. Au contraire, un programme écrit en langage compilé est traduit en instructions lisibles par …   Wikipédia en Français

  • Langage de programmation Ruby — Ruby Pour les articles homonymes, voir Ruby (homonymie). Apparu en 1995 …   Wikipédia en Français

Share the article and excerpts

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