One of my classes this semester is a Programming Paradigms class. In this class, we are looking at programming paradigms (I bet you couldn’t have figured that out based on the title, huh?) that apply across all programming languages and domains. As part of this, each member of the class has been tasked to write a paper discussing a programming language of their choice and compare it to the paradigms in the class. To help, the professor gave us a list of 35 or so programming languages to pick from. It had the usual suspects (C, C++, Java, Fortran, ADA, etc).
When thinking about what language to select, I almost settled on Java as it’s a language I know more intimately than any other at this point. However, I also realized that a number of other students will likely pick the same language and what fun is that. So I thought about it some more and ended up picking the Groovy language, which wasn’t on his list (though he’s since added it).
Groovy is a dynamic scripting language that sits on top of Java and the JRE. It offers optional typing and a much more compact structure than Java, but can still access the entirety of the Java class library and more importantly any other Java libraries.
Much in the same way that C++ started as a language that would cross-compile to C, Groovy started in the same manner. It has since moved on to a proper language in its own right, but it still targets the JRE.
I’m about half way done with the paper. Once I’ve turned it in, I may chunk it down into a set posts here.