Báječný | |
---|---|
Jazyková třída | objektově orientovaný programovací jazyk , imperativní programovací jazyk , skriptovací jazyk , funkcionální programovací jazyk , multiparadigmatický programovací jazyk , interpretovaný programovací jazyk , jazyk JVM , open source software a svobodný software |
Objevil se v | 2003 |
Autor | James Strachan [d] |
Vývojář | Java Community Process a Apache Software Foundation |
Přípona souboru | .groovy |
Uvolnění | |
Byl ovlivněn | Python , Java , Ruby , Perl a Smalltalk |
Licence | Licence Apache 2.0 a licence Apache |
webová stránka |
groovy-lang.org _ _ |
OS | multiplatformní |
Mediální soubory na Wikimedia Commons |
Groovy je objektově orientovaný programovací jazyk navržený pro platformu Java jako doplněk k jazyku Java s funkcemi Python , Ruby a Smalltalk .
Používá syntaxi podobnou javě s dynamickou kompilací do bytecode JVM a pracuje přímo s dalším kódem a knihovnami java . Jazyk lze použít v jakémkoli java projektu nebo jako skriptovací jazyk . Aktivně se používá jako doménově orientovaný jazyk pro psaní skriptů při práci v dané oblasti (od matematiky po vědecké zpracování dat), stejně jako při vytváření a testování aplikací ( Gradle ).
Groovy dokončil svůj proces standardizace v Java Community Process (JSR 241).
Hlavní rysy jazyka, které jej odlišují od Javy, jsou: statické i dynamické psaní ; vestavěná syntaxe pro seznamy , asociativní pole , pole a regulární výrazy ; přetěžovací operace . Uzávěry v Groovy předcházely Jávě.
Řada populárních webových rámců je postavena na Groovy , včetně Grails a Ratpack aplikací Griffon a testovacího rámce Spock .
Jazyk našel uplatnění jako skriptovací jazyk pro rozšíření možností softwaru platformy. Zejména generátor sestav iReport , založený na knihovně JasperReports Java , umožňuje vkládat výrazy Groovy do sestav a psát do nich další logiku. Systém průběžné integrace Jenkins umožňuje používat automatizační skripty vytvořené v Groovy. Testovací aplikace webové služby SoapUI podporuje psaní testovacích skriptů v Groovy [2] .
Programování Groovy je podporováno v hlavních IDE [3] , včetně IntelliJ IDEA (počínaje verzí 7 nebo dřívější pomocí JetGroovy Plugin), Eclipse (pomocí Groovy Eclipse), Netbeans (vestavěný), VS Code (přes rozšíření), Vim (přes rozšíření) .
První zmínkou o jazyce byl blogový příspěvek Jamese Strachana [ 4 ] ze srpna 2003. Několik verzí bylo později vydáno v letech 2004 až 2006. Po zahájení procesu standardizace JCP bylo změněno číslování verzí a verze je označována jako "1.0". Verze "1.0" byla vydána 2. ledna 2007 . V prosinci 2007 byla vydána Groovy 1.1, tato verze byla brzy přečíslována na „1.5“ kvůli významným změnám v jazyce.
Strachan opustil projekt rok před vydáním Groovy 1.0 v roce 2007 a v červenci 2009 Strachan na svém blogu napsal, že by možná nevytvořil Groovy, kdyby si přečetl knihu Martina Oderskyho et al z roku 2003 o programování Scala (vydaná v roce 2007) [ 5] .
Projektu a výboru pro vývoj jazyka JSR-241 od roku 2007 předsedá Guillaume Laforge . Společnost G2One, která se zabývala vývojem a komercializací jazyka a rámce Grails, získala SpringSource na podzim roku 2008 , v důsledku toho prostřednictvím řetězce fúzí a akvizic ( VMware , Pivotal , EMC ) aktiva byla v roce 2017 převedena na Dell Corporation . Od roku 2015 je jazyk špičkovým projektem nadace Apache Foundation .
V roce 2020 byla vydána verze 3.0.0 s řadou významných vylepšení.
Klasický příklad tisku řádku s pozdravem:
// Tisk komentáře ( "Ahoj svět!" )Příklad vytvoření a použití funkce s argumenty a návratovou hodnotou:
def helloFunction ( name ) { println ( "Ahoj, ${name}" ) } helloFunction ( "Groovy!" ) // V následující funkci pro výpočet součtu dvou objektů // poslední výraz je návratová hodnota def sum ( a , b ) { a + b // vrátí výsledek sčítání } print ( součet ( 1 , 2 )) // Tato funkce přebírá pouze parametry číselného typu def odečítání ( double a , double b ) { return a - b } tisk ( odčítání ( 6 , 4 ))Deklarace třídy, vytvoření její instance a volání jejích metod v hlavním vstupním bodu programu (statická metoda main())
class Foo { def doSomething () { def data = [ "name" : "James" , "location" : "Londýn" ] for ( e in data ) { println ( "záznam ${e.key} je ${e. hodnota} " } } def closureExample ( kolekce ) { kolekce . every { println ( "value ${it}" ) } } static void main ( args ) { def values = [ 1 , 2 , 3 , "abc" ] def foo = new Foo () foo . closurePříklad ( hodnoty ) foo . doSomething () } }";" Středník na konci řádku je volitelný.
Stejně jako v Javě (od verze 11) lze zdrojový kód Groovy spustit jako běžný skript: k tomu musí obsahovat kód mimo definici třídy nebo třídu s hlavní metodou nebo Runnable nebo GroovyTestCase:
#!/usr/bin/env groovy println "Tento skript mohu nyní spustit!"Strings in Groovy: Java Strings s jednoduchými uvozovkami a GStrings s dvojitými uvozovkami:
def javaStyleString = 'java String style' def GStringsStyleString = "${javaStyleString}" def j = '${javaStyleString}' def bigGroovyString = """ ${javaStyleString} ${GStringsStyleString} " "" bigGroovylnPředávání parametrů metodám, uzávěrům nebo funkcím lze provést bez závorek:
uzavřeníFunkce 1 , 2
Programovací jazyky | |
---|---|
|
Jáva | |
---|---|
Platformy | |
Sun Technologies | |
Klíčové technologie třetích stran | |
Příběh |
|
Vlastnosti jazyka | |
Skriptovací jazyky |
|
Java konference |
|