Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I would like to explore programming in dynamic languages, and I found that Groovy would be really easy to learn because it is heavily based on Java.

won't I miss anything important regarding dynamic languages proggramming if i take Groovy path instead of say Ruby or Python? I don't intend to program in dynamic language too much, it is mostly for learning purposes.

thank you for help.


migration rejected from stackoverflow.com Jul 5 at 0:02

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by jwenting, durron597, GlenH7, gnat, MichaelT Jul 5 at 0:02

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – durron597, GlenH7, MichaelT
  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – jwenting, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

you will be programming groovy a lot, if you start to learn it, because it is very powerful. Warning: It could even be that you don't want to program java anymore... –  rdmueller Aug 4 '11 at 13:31
@Ralf : Nice ending statement! and the same happened to me :D :D –  Ant's Aug 4 '11 at 13:55
If you are from java background, groovy is best choice to start with because it works on jvm and gels seamlessly with existing java classes and libraries. Even if groovy may be missing a few bits dynamic feature here and there compared to ruby/python, the ease of getting started with groovy and incrementally learning dynamic features is what makes groovy stand apart. And @Ralf, +1 for the warning :) –  kunal Aug 4 '11 at 17:46

3 Answers 3

Since you have a background in Java - why not consider learning Jython? Its python built on the JVM so you can get some scripting experience without tossing your knowledge of various Java classes?

There is some advantage of Jython, but it tends to lag behind Python. I'd recommend just using Python, unless there is particular classes that you need. Python's libraries are extensive, accessible, and well documented, so you won't be left stranded. –  Eric Wilson Aug 4 '11 at 18:51

I would recommend Ruby or Python since you have a Java background. Groovy can allow you to lean on your Java habits, and slow your exposure to a more dynamic way of thinking.

I have over six months professional experience in Groovy, and there is a lot to recommend the language. But it is ultimately a compromise, designed to include some of the nice features of Ruby and Python, but with the constraining goal of Java compatability.

Also, the documentation is not nearly as good as Python, also probably not as good as Ruby, and the community support is not nearly what you will have in either Python or Ruby.

The only advantage of using Groovy is that it will allow you to continue to be productive today, as you can essentially write Java whenever you aren't sure what to do. But if your primary goal is learning, choose either Ruby or Python. (Base your decision on which of these languages appeals more to you philosophically.)

Even Groovy has a great community :D –  Ant's Aug 5 '11 at 16:51

Learn the three languages. If your purpose is learning new things, don't limit to only one language.

You have java background, so groovy is a good language for you. Remember don't mix java and groovy in the code. Learn the "groovy way" and only use this.

In the future, learn ruby and python. Learn new languages never is a bad thing. You will be more open minded.


Not the answer you're looking for? Browse other questions tagged or ask your own question.