But a lot of the "features" of dynamic languages appear to me as disadvantages. For example all the useful compile time checks and IDE support (auto completion etc.) are missing or not really good.
But most important for me is the big difference when you have to look at some piece of source code. Code in Groovy (and other similar languages) often may be much shorter or concise than the same code in a language like Java. But if it's not my own code and it's more than just a few lines, it's exactly this advantage which becomes a big disadvantage in my opinion. You can't figure out what types some variables might have, a lot of this useful "magic" going on isn't really easy to understand and so on...
Perhaps someone finally can convince me when and why I should give Groovy a try. Or can "Programming Groovy" perhaps show me what advantages of Groovy I'm missing as a "normal" Java programmer?
Originally posted by john Lin:
It would be nice if some one can share some good experience about using this in decent size of development project.
Java is a butter knife. Groovy is a chef's blade. If you let a fresher in the kitchen, yes it's more dangerous to give him/her a sharper tool. From my perspective, the only advantage Java has here is when you're dealing with an inexperienced programmer because then the programmer will simply make less of a hack-job.
Why do you feel someone needs to convince you? If you're happy with Java as it is, then stick to it. But if you're hungry for a more powerful tool, Groovy's one of the best and most fun to explore.
Originally posted by sreerupa basu:
How good is unit testing with our old JUnit for .groovy classes?