Groovy Programming: An Introduction for Java Developers