Báječný

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í) .

Historie

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í.

Příklady

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ý.

Některé funkce

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} " "" bigGroovyln

Předávání parametrů metodám, uzávěrům nebo funkcím lze provést bez závorek:

uzavřeníFunkce 1 , 2

Poznámky

  1. Vydání 4.0.5 – 2022.
  2. SOAP UI: Ukázkové skripty na Groovy .
  3. Seznam podporovaných IDE Archivováno z originálu 4. února 2008. na oficiálních stránkách Groovy Archivováno 2. března 2014.
  4. James Strachan. Groovy, archivovaný z originálu 2007-04-05, je zrodem nového dynamického jazyka pro platformu Java .
  5. Scala jako dlouhodobá náhrada za java/javac? (6. července 2009). Získáno 7. ledna 2012. Archivováno z originálu 10. února 2012. "Mohu upřímně říci, že kdyby mi někdo ukázal knihu Programování ve Scale od Martina Oderskyho, Lex Spoon & Bill Venners v roce 2003, pravděpodobně bych nikdy nevytvořil Groovy."

Odkazy