Groovy

Groovy
Nyelvóra objektum-orientált programozási nyelv , kötelező programozási nyelv , szkriptnyelv , funkcionális programozási nyelv , többparadigmás programozási nyelv , értelmezett programozási nyelv , JVM nyelv , nyílt forráskódú szoftverek és ingyenes szoftverek
Megjelent 2003
Szerző James Strachan [d]
Fejlesztő Java Community Process és Apache Software Foundation
Fájlkiterjesztés _ .groovy
Kiadás
Befolyásolva Python , Java , Ruby , Perl és Smalltalk
Engedély Apache License 2.0 és Apache License
Weboldal groovy-lang.org _ 
_
OS platformközi
 Médiafájlok a Wikimedia Commons oldalon

A Groovy  egy objektum-orientált programozási nyelv , amelyet a Java platformhoz terveztek a Java nyelv kiegészítéseként Python , Ruby és Smalltalk funkciókkal .

Java-szerű szintaxist használ dinamikus fordítással JVM bájtkódba , és közvetlenül együttműködik más Java kódokkal és könyvtárakkal . A nyelv bármely java projektben vagy szkriptnyelvként használható . Aktívan használják Domain-orientált nyelvként szkriptek írásához a tantárgyi területen (matematikától a tudományos adatfeldolgozásig), valamint alkalmazások készítéséhez és teszteléséhez ( Gradle ).

A Groovy a Java Community Process (JSR 241) szabványosítási folyamatát befejezte.

A nyelv főbb jellemzői, amelyek megkülönböztetik a Java-tól: mind statikus , mind dinamikus gépelés ; beépített szintaxis listákhoz , asszociatív tömbökhöz , tömbökhöz és reguláris kifejezésekhez ; túlterhelési műveletek . A Groovy bezárásai megelőzték a Java-t.

Számos népszerű webes keretrendszer épül a Groovyra , köztük a Grails és a Ratpack , a Griffon alkalmazáskeretrendszer és a Spock tesztelési keretrendszer .

A nyelv szkriptnyelvként talált alkalmazásra a platformszoftverek képességeinek bővítésére. Különösen az iReport jelentéskészítő , amely a JasperReports Java könyvtáron alapul , lehetővé teszi Groovy kifejezések beágyazását a jelentésekbe, és további logikát írhat rájuk. A Jenkins folyamatos integrációs rendszere lehetővé teszi a Groovyban létrehozott automatizálási szkriptek használatát. A SoapUI webszolgáltatástesztelő alkalmazás támogatja a tesztszkriptek Groovy [2] nyelven történő írását .

A Groovy programozást a főbb IDE -k támogatják [3] , beleértve az IntelliJ IDEA -t (7-es vagy korábbi verziótól kezdve a JetGroovy Plugin használatával), az Eclipse - t (Groovy Eclipse használatával), a Netbeans -t (beágyazott), a VS Code -ot (kiterjesztésen keresztül), a Vim -et (kiterjesztésen keresztül) .

Történelem

A nyelv első említése James Strachan [ 4] 2003 augusztusában kelt blogbejegyzése  volt . Később több verzió is megjelent 2004 és 2006 között. A JCP szabványosítási folyamatának megkezdése után a verziószámozás megváltozott, és a verzió neve "1.0". Az "1.0" verzió 2007. január 2- án jelent meg . 2007 decemberében jelent meg a Groovy 1.1, ezt a verziót hamarosan átszámozták "1.5"-re a nyelv jelentős változásai miatt.

Strachan egy évvel a Groovy 1.0 2007-es megjelenése előtt hagyta el a projektet, és 2009 júliusában Strachan azt írta a blogjában, hogy lehet, hogy nem ő hozta volna létre a Groovy-t, ha elolvasta Martin Odersky és társai 2003-as könyvét a Scala programozásról (2007-ben jelent meg) [ 5] .

A JSR-241 nyelvfejlesztési projektet és bizottságot 2007 óta Guillaume Laforge vezeti . A G2One-t, amely a Grails nyelv és keretrendszer fejlesztésével és kereskedelmi forgalomba hozatalával foglalkozott, a SpringSource 2008 őszén vásárolta meg , ennek eredményeként fúziók és felvásárlások láncolata ( VMware , Pivotal , EMC ) révén az eszköz. 2017-ben átkerült a Dell Corporationhoz . 2015-től a nyelv az Apache Alapítvány legfelső szintű projektje volt .

2020-ban megjelent a 3.0.0-s verzió számos jelentős fejlesztéssel.

Példák

Klasszikus példa egy sor nyomtatására üdvözlettel:

// Megjegyzés nyomtatása ( "Hello world!" )

Példa egy függvény létrehozására és használatára argumentumokkal és visszatérési értékkel:

def helloFunction ( name ) { println ( "Hello, ${name}" ) } helloFunction ( "Groovy!" ) // A következő függvényben két objektum összegének kiszámításához // az utolsó kifejezés a visszatérési érték def sum ( a , b ) { a + b // az összeadás eredményét adja vissza } print ( összeg ( 1 , 2 )) // Ez a függvény csak numerikus típusú paramétereket vesz fel def kivonás ( double a , double b ) { return a - b } nyomtatás ( kivonás ( 6 , 4 ))

Osztály deklarálása, példány létrehozása és metódusainak meghívása a program fő belépési pontján (statikus metódus main())

class Foo { def doSomething () { def data = [ "name" : "James" , "location" : "London" ] for ( e in data ) { println ( "${e.key} bejegyzés ${e. érték} " } } def closurePélda ( gyűjtemény ) { gyűjtemény . every { println ( "érték ${it} " ) } static void main ( args ) { def értékek = [ 1 , 2 , 3 , " abc " ] def foo = new Foo ( ) foo . closurePélda ( értékek ) foo . csinálj valamit () } }

";" A pontosvessző a sor végén nem kötelező.

Néhány szolgáltatás

A Java-hoz hasonlóan (a 11-es verzió óta) a Groovy forráskód is végrehajtható normál szkriptként: ehhez tartalmaznia kell az osztálydefiníción kívüli kódot, vagy egy fő metódussal rendelkező osztályt, vagy Runnable, vagy GroovyTestCase:

#!/usr/bin/env groovy println "Most már futtathatom ezt a szkriptet!"

Strings in Groovy: Java karakterláncok szimpla idézőjelekkel és GStringek kettős idézőjelekkel:

def javaStyleString = 'java String style' def GStringsStyleString = "${javaStyleString}" def j = '${javaStyleString}' def bigGroovyString = """ ${javaStyleString} ${GStringsStyleString} big String " " GrovyString }

Paraméterek átadása metódusoknak, lezárásoknak vagy függvényeknek zárójelek nélkül történhet:

closureFunkció 1 , 2

Jegyzetek

  1. Kiadás 4.0.5 – 2022.
  2. SOAP UI: Példaszkriptek a Groovy-n .
  3. A támogatott IDE -k listája archiválva az eredetiből 2008. február 4-én. a hivatalos Groovy webhelyen Archivált 2014. március 2.
  4. James Strachan. Az eredetiből 2007-04-05-én archiválva a Groovy egy új dinamikus nyelv születése a Java platformhoz .
  5. A Scala a java/javac hosszú távú helyettesítője? (2009. július 6.). Letöltve: 2012. január 7. Az eredetiből archiválva : 2012. február 10. "Őszintén megmondhatom, ha valaki megmutatta volna nekem Martin Odersky, Lex Spoon és Bill Venners Programozás a Scalában című könyvét még 2003-ban, valószínűleg soha nem alkottam volna meg a Groovy-t."

Linkek