Groovy
| Groovy | ||||
|---|---|---|---|---|
| Paradigma | objectgeoriënteerd | |||
| Verschenen | 2003 | |||
| Ontwerper | Java Community Process | |||
| Ontwikkelaar | Guillaume Laforge (Project Manager) | |||
| Huidige versie | 5.0.8[1] 29 juli 2026 | |||
| Typesysteem | dynamisch, sterk, duck-typing | |||
| Beïnvloed door | Python, Ruby, Perl, Smalltalk, Java | |||
| Besturingssysteem | Multiplatform | |||
| Licentie | Apache-licentie 2.0 | |||
| Bestandsextensies | groovy, gvy, gsh, gy | |||
| Website | (en) Projectpagina | |||
| ||||
Groovy is een objectgeoriënteerde programmeertaal voor het Java-platform. Het kan worden gebruikt als een scripttaal voor het Java-platform, en heeft eigenschappen vergelijkbaar met Ruby, Python, Perl en Smalltalk. Groovy 1.0 werd uitgebracht op 2 januari 2007. De taal wordt gestandaardiseerd in het Java Community Process als JSR 241.
Kenmerken
De syntaxis van Groovy lijkt op Java. Het wordt gecompileerd naar bytecode voor de Java Virtual Machine. Het kan gebruikt worden in combinatie met andere Javacode en bibliotheken. De Groovy-compiler kan Java bytecode genereren die vervolgens in een Javaproject gebruikt kan worden. De meeste Javacode is ook geldig in Groovy waardoor Java op dynamische wijze uitgevoerd kan worden.
Groovy bevat enkele zaken die Java niet heeft, zoals hogere-ordefuncties, closures, dynamische typering en operator-overloading.[2] Daarnaast wordt ook nog steeds statische typering ondersteund. Ook bevat Groovy syntaxis voor associatieve arrays (maps), ondersteuning voor reguliere expressies en de ?-operator om veilig te controleren of een object gelijk is aan null (bijvoorbeeld object?.veld).[2] Groovy bevat ook ingebouwde ondersteuning voor een aantal opmaaktalen, zoals XML en HTML.[2]
Geschiedenis
In augustus 2003 besprak James Strachan op zijn blog[3] de ontwikkeling van Groovy voor het Java-platform. Er zijn verscheidene versies uitgebracht tussen 2004 en 2006. Tijdens het standaardiseren van de taal door het JCP werd de versienummering aangepast en versie "1.0" werd uitgebracht op 2 januari 2007.
Na enkele bèta's en release candidates werd op 7 december 2007 Groovy 1.1 Final uitgebracht. Deze werd gelijk omgedoopt tot Groovy 1.5 om aan te geven dat er grote vorderingen waren gemaakt in vergelijking met eerdere versies.
In oktober 2013 dook het op in de top 20 van de Tiobe Programming Community Index, die de populariteit van programmeertalen meet.[4] Het maakte hiermee een sterke groei: de maand ervoor stond de taal nog op de 53e plaats.
Syntaxis
Hieronder staat een voorbeeld van Groovy in vergelijking met Java:
Java 5+:
for (String item : new String [] {"Rod", "Carlos", "Chris"}) {
if (item.length() < 4) {
System.out.println(item);
}
}
Groovy:
["Rod", "Carlos", "Chris"].findAll{it.size() < 4}.each{println it}
Externe links
- (en) Officiële site
- (en) JSR 241 - jcp.org
- ↑ "Release 5.0.8"; geraadpleegd op: 29 juli 2026; datum van uitgave: 29 juli 2026.
- ↑ a b c (en) Differences from Java
- ↑ Groovy - the birth of a new dynamic language for the Java platform
- ↑ (nl) Populariteit Java-alternatief Groovy explodeert
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.