This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The biggest reasons I've stayed away from scripting languages within Java are the ones you'd probably guess - maintainability and pure maintenance.
If I introduce Groovy to my code, I force another technology upon all persons who are developing on that common code base. And while that might normally happen anyway with new API/libraries, its a bit harder with something that is conceptually different.
However, with Groovy being one of many technologies that is getting a lot of word of mouth these days (at least in my office), I'd like to know a bit more about it (best tool for the job and all that). My first concern with introducing a scripting language into my java code has to be maintenance. Will most common IDEs (specifically Eclipse) debug groovy script in java code?
You mentioned debugging and I just thought I'd hop on my little soap box here.
Debug modes in IDEs are incredibly over-used and over-rated.
If all developers' debug mode time were used to 1)refactor code into more concise methods and 2)write unit tests, we'd all be sitting at the beach bragging about how few production issues we have and who's the closest to 100% test coverage.
Think about it: what kind of code is easiest to step through in debug mode? Big, long, honkin' methods. This can cause our quality procedures (debugging) to influence our development strategies in a wrong direction.
Mmmmmmm. For me, a debugger provides the alternative to something else I hate even more: pervasive logging. Nothing I hate more than code littered with constant "Entering method X" and "Setting color" and "Ejecting warp core" logging calls. I don't like the code, and I don't like the logs, and I don't like the dependency on the morass of logging libraries.