Over the years I have worked with many programming languages.
For me, it is important that the language be ‘simple’ enough for me to keep thinking about the problem that I am trying to solve.
Note that I did not say solution! If one has to think too much on the mechanics of trying to get the proposed solution to work, we often lose sight of identifying what the real problem is.
However, the language also has to be able to be handle the difficult tasks. To quote Larry Wall, Tom Christiansen and Randal L. Schwartz about Perl:
Perl is designed to make the easy jobs easy, without making the hard jobs impossible.This is where Groovy is for me. It can be used to do one off scripts and basic data munging to coding in full stack frameworks such as Grails or to an Enterprise build automation system like Gradle.
When trying to solve a problem, I want to be thinking close to the problem domain.
For example, reading a file in groovy is as simple as the following:
def fileText = new File('path_to_file').text
Variable fileText
now has the content that I am interested
in.
Another example if we want to find all the h4 headings on web page, one quick texty way could be to use
new URL('http://www.radionz.co.nz/about').text.eachLine { if (it.contains('h4')) { println it } }
The following provide useful information on learning about the Groovy Language: