Groovy - Podrasowana i uproszczona Java

Języki programowania stają się coraz prostsze i przyjazne dla programisty. Dobrym przykładem może być Groovy, którego nowa wersja niedawno ujrzała światło dzienne.

Aktualnie za niskopoziome uznaje się tworzenie kodu w C oraz niektóre specjalizowane zadania, wymagające użycia asemblera. Natomiast nowoczesne języki mają coraz łatwiejszą do przyswojenia składnię oraz automatyzują pewne czynności. Groovy świetnie wpisuje się ten trend.

Groovy jest opisywany, jako "zwinny" język obiektowy kompilujący się do bajtkodu (ang. bytecode) JVM (Java Virtual Machine), ale posiada jednocześnie cechy takich języków jak Ruby, Python czy nawet Smalltalk. Poza tym dysponuje on szerokim wachlarzem atomowych operacji upraszczających pisanie skryptów powłoki czy kompilacji, a także bezpośrednio wspiera tworzenie testów jednostkowych i korzystanie z atrap (ang. mock objects). Aktualnie organizacja SpringSource będąca oddziałem VMware oraz społeczność niezależnych programistów tworzą ten język programowania na licencji Apache.

Rozwój i historia Groovy

Pomysł na Groovy narodził się w 2003. W założeniu miał on być wykorzystywany do operacji, które sprawiały trudności przy posługiwaniu się , jak na przykład parsowanie XML. Jednakże pierwsze stabilne wydanie tego języka ukazało się dopiero w 2007 roku. Dzisiaj Groovy funkcjonuje, jako technologia pozwalająca tworzyć prototypy aplikacji Javowych, a w połączeniu ze zrębem Grails umożliwia rozwijanie aplikacji internetowych opartych o bazę danych, stwierdza Guillaume Laforge, szef rozwoju Groovy w SpringSource.

Nowości w wersji 1.7

Elementy wprowadzone w najnowszej odsłonie mają za zadanie usprawniać właśnie wcześniej wspomniane zastosowania. Służyć ma temu wprowadzenie do Groovy anonimowych klas wewnętrznych i klas zagnieżdżonych. Te składowe języka są już od dawna dostępne w Javie, a w Groovy pojawiły się dopiero teraz, gdyż dysponuje on domknięciami (anonimowymi fragmentami kodu, które mogą przyjmować argumenty, używają zmiennych w otaczającym je zakresie i zwracają wartość, a są wykonywane dopiero po wywołaniu na nich metody call). Każda z tych technik pozwala programiście nie tworzyć jawnie nowej klasy dla każdego elementu logiki. Warto w tym miejscu wspomnieć, że włodarze Javy zastanawiają się nad wprowadzeniem domknięć do tego języka.

Groovy zyskuje sporo na rozszerzeniu składni. Z jednej strony doświadczonym programistom Javy łatwiej będzie posługiwać omawianym językiem, a z drugiej strony łatwiej będzie integrować z nim zręby Javowe, które w dużym stopniu korzystają z klas anonimowych i zagnieżdżonych.