This is mainly in reference to this answer in "Python vs Groovy vs Ruby?"
What makes Python and Ruby easier to develop outside an IDE?
The link also mentions debugging in the console. What is meant by that exactly?
I disagree with the assertion that groovy is harder to develop with outside of an IDE. I've done serious python and groovy development, and a little bit of ruby, mostly without an IDE.
While there isn't a pdb
style debugger, there's a console: groovysh is a non-GUI console, command line app, and groovyConsole is a GUI with simple syntax highlighting and editing. The rails and TDD philosophies emphasize development with tests rather than debuggers, and I find I rarely, if ever, feel the need to use a full-on debugger if I've got good test coverage. Whether this matters to you really depends on your own style of development.
Groovy simplifies the whole jar
/classpath
mess. While you can still set the classpath if you want, it's much easier to let groovy manage it entirely. Groovy automatically includes jars in $GROOVY_HOME/lib
and ~/.groovy/lib
in the classpath. Installing a library is simply copying it there. Better than that, with @Grab
, you can declare your dependencies right at the top of your script, and groovy will automatically download the version you specify, and recursively get all of its dependencies and set up the proper classpath and classloaders; it can even manage two libraries that depend different versions of the same jar. Grails also has declarative dependencies.
The groovy language itself is just as concise and flexible as either ruby or python. While you can write it like full-blown Java, groovy can be written to look very similar to ruby.
One valid complaint against groovy vs python and ruby is that the startup time of the JVM is still noticeably worse.