This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I am using groovy since few weeks. While it reduces key strokes reducing code time, the debugging time has gone up. For e.g. If you pass string to preparedstatement.setLong it will throw runtime exception. The stack trace thrown by groovy is hardly helpful, it does not tell me which line caused the problem. I will have to spend lot of my time to detect this. If I were using Java compiler would have caught this problem, no need to run the program to find this.
The stacktrace should tell you what line in your code the problem originated from, it just won't be the first thing the stacktrace shows you. Because there are so many layers in Groovy, it probably showed you a MissingMethodException or something because it was looking for a setLong method that accepted a String.
Whenever I get a stacktrace like that, I usually pick a unique word from my packaging and search through the stacktrace for it. That way I can find the first line in my code that caused the problem. For example if all my Groovy code is in com.mcdonalds.burgerapp, I'll search the stacktrace for mcdonalds. [ October 22, 2008: Message edited by: Matthew Taylor ]