Sign In

Communications of the ACM

ACM TechNews

The A-Z of Programming Languages: Groovy


View as: Print Mobile App Share: Send by email Share on reddit Share on StumbleUpon Share on Hacker News Share on Tweeter Share on Facebook
Groovy project manager Guillaume Laforge

"When it came to choosing a name, it was obvious that a new language with all those great features would have to be called 'Groovy,'" says Groovy project manager Guillaume Laforge.

Credit: Computerworld Australia

Groovy project manager Guillaume Laforge says the Groovy programming language was designed to make life simpler for developers through its seamless integration with the underlying Java platform. "There's really no impedance mismatch between Groovy and Java," he says. "That's why lots of projects integrate Groovy, or why companies adopt the [Groovy on Rails (Grails)] Web framework."

Laforge says that Groovy finds frequent use as a superglue for tying together various application elements, and he points out that Groovy is often the preferred language when developers must integrate and employ an additional language in their applications. Laforge says that Grails offers an advanced integration of the best-of-breed open source software components to provide a pleasant experience for developers while also addressing various other aspects such as the project build, the persistence, a rich view layer, and an extensible plug-in system.

Laforge says Groovy's support for closures is his favorite feature. "With closures, you can start thinking differently about how you solve your everyday problems, or create complex algorithms," he says. "Closures give you an additional layer of abstraction for encapsulating code and behavior, and even data [thanks to Groovy builders]. Also, with various helper methods added to Java collections, in combination with closures, you've got the power of functional languages at your disposal."

From Computerworld Australia
View Full Article

 

Abstracts Copyright © 2009 Information Inc., Bethesda, Maryland, USA


 

No entries found