Apache Groovy

GroovyApache Groovy programming languageGroovy (programming language)The Groovy Programming Language
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.wikipedia
205 Related Articles

Java (software platform)

JavaJava platformJava application
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
In addition, several languages have been designed to run natively on the JVM, including Clojure, Groovy, and Scala.

List of programming languages by type

Curly bracket programming languagecurly bracketsbracket-delimited languages
Groovy uses a curly-bracket syntax similar to Java's.

Grails (framework)

GrailsGrails Object Relational Mapping (GORM)Grails/Groovy
In 2008, Grails, a Groovy web framework, won the second prize at JAX 2008 innovation award.
Grails is an open source web application framework that uses the Apache Groovy programming language (which is in turn based on the Java platform).

James Strachan (programmer)

James Strachan
James Strachan first talked about the development of Groovy on his blog in August 2003.
James Strachan is a software engineer who created the Apache Groovy programming language in 2003.

String interpolation

Variable interpolationinterpolationinterpolated
Groovy supports closures, multiline strings, and expressions embedded in strings. Groovy features not available in Java include both static and dynamic typing (with the keyword ), operator overloading, native syntax for lists and associative arrays (maps), native support for regular expressions, polymorphic iteration, string interpolation, added helper methods, and the safe navigation operator to check automatically for null pointers (for example,, or ).
String interpolation is common in many programming languages which make heavy use of string representations of data, such as Apache Groovy, Kotlin, Perl, PHP, Python, Ruby, Scala, Swift, Tcl and most Unix shells.

Object-oriented programming

object-orientedobject orientedobject-oriented programming language
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.
Python, PowerShell, Ruby and Groovy are dynamic languages built on OOP principles, while Perl and PHP have been adding object-oriented features since Perl 5 and PHP 4, and ColdFusion since version 6.

Safe navigation operator

optional chainingnull-conditionalnull-conditional operator
Groovy features not available in Java include both static and dynamic typing (with the keyword ), operator overloading, native syntax for lists and associative arrays (maps), native support for regular expressions, polymorphic iteration, string interpolation, added helper methods, and the safe navigation operator to check automatically for null pointers (for example,, or ).
It is currently supported in languages such as Apache Groovy, Swift, Ruby, C#, Kotlin, CoffeeScript, Scala and others.

Spring (company)

SpringSourceSpringSprings
In November 2008, SpringSource acquired the Groovy and Grails company (G2One).
As a result, SpringSource employed some of the lead developers and committers of the Apache Tomcat, Apache HTTP Server, Hyperic, Apache Groovy and Grails open source communities.

Java virtual machine

JVMJava Runtime EnvironmentJRE
It can be used as both a programming language and a scripting language for the Java Platform, is compiled to Java virtual machine (JVM) bytecode, and interoperates seamlessly with other Java code and libraries.
Of the new languages that have been created from scratch to compile to Java bytecode, Clojure, Apache Groovy, Scala and Kotlin may be the most popular ones.

Dynamic programming language

dynamicdynamic languagedynamic languages
It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk.

Java Community Process

JSRJava Specification RequestJCP
After the Java Community Process (JCP) standardization effort began, the version numbering changed, and a version called "1.0" was released on January 2, 2007.

Java (programming language)

JavaJava programming languageJava language
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.

Python (programming language)

PythonPython programming languagePython 2
It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk.

Smalltalk

Smalltalk-72ObjectStudioSmalltalk programming language
It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk.

Ruby (programming language)

RubyRuby programming languageRuby Application Archive
It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk.

Operator overloading

overloadedoverloaded operatorsoverloading
Groovy features not available in Java include both static and dynamic typing (with the keyword ), operator overloading, native syntax for lists and associative arrays (maps), native support for regular expressions, polymorphic iteration, string interpolation, added helper methods, and the safe navigation operator to check automatically for null pointers (for example,, or ).

Gradle

Gradle is an open-source build-automation system that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the XML form used by Apache Maven for declaring the project configuration.

XWiki

Scripting languages including Velocity, Apache Groovy, Python, Ruby and PHP can be written directly into wiki pages using wiki macros.

Eclipse (software)

EclipseEclipse IDEEclipse RCP
Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby (including Ruby on Rails framework), Rust, Scala, and Scheme.

Aspect-oriented programming

aspect-orientedAOPaspect oriented programming
Groovy also allows overriding methods as, among others, enabling the developer to intercept calls to an object and specify an action for them, in a simplified aspect-oriented way.

Trait (computer programming)

traitsTraitTraits class
According to Groovy's documentation, "Traits are a structural construct of the language that allows: composition of behaviors, runtime implementation of interfaces, behavior overriding, and compatibility with static type checking/compilation."

Fold (higher-order function)

foldreducefolds
Groovy also supports lazy evaluation, reduce/fold, infinite structures and immutability, among others.

WebSphere sMash

Project Zero
WebSphere sMash was a development and runtime environment from IBM for the creation of dynamic web applications using the scripting languages Apache Groovy and PHP.

Griffon (framework)

Griffon
Griffon is an open source rich client platform framework which uses the Java, Apache Groovy, and/or Kotlin programming languages.