CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Groovy (langage) - Wikipédia

Groovy (langage)

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
image:Langage_progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
C++ - C#
Delphi - Eiffel - Java
Groovy - Python - Ruby
Simula - Smalltalk
Visual Basic - WinDev
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Limbo - Perl - PHP
Langages fonctionnels
Haskell - ML/OCaml
Lisp/Common Lisp
Scheme
XSLT
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Langage de balisage
HTML - SGML - XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

Groovy est le nom d'un langage de programmation orienté objet destiné à la plateforme Java.
Il constitue une alternative au langage Java pour cette plateforme et est inspiré de Python, Ruby et Smalltalk. Il est l'objet de la spécification [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 tout naturellement avec l'écosystème Java car du point de vue de la JVM, il ne présente pas de différence: c'est du bytecode. Il peut donc aussi bien

  • utiliser les librairies Java
  • que être utilisé dans des classes Java

Sommaire

[modifier] Principales caractéristiques du language

Groovy possède certaines caractéristiques qui le différencie du java standard

[modifier] Comparaison entre Java et Groovy

Voici une comparaison de Java et Groovy:

Standard Java (Java 5+)

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

Groovy

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

[modifier] Langage de balisage (XML, HTML, ...)

Une des caractéristiques notables de Groovy est son support natif des langages de balisage tels que XML et HTML. Ce support permet de définir et manipuler par programmation plusieurs type de structure 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>

[modifier] 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} !"

[modifier] Liens externes

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com