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, no registration required.

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.

share|improve this question

migrated from stackoverflow.com Aug 4 '11 at 13:16

This question came from our site for professional and enthusiast programmers.

3  
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... –  Ralf Aug 4 '11 at 13:31
2  
@Ralf : Nice ending statement! and the same happened to me :D :D –  Ant's Aug 4 '11 at 13:55
3  
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
add comment

4 Answers 4

Groovy is the best example for a Dynamic language. It generally makes life so simple with elegant syntax. And ya, you can feel the taste of Ruby in Groovy as its been inspired by Ruby, Python and smalltalk. Many things that are done in Ruby and Python can be done in Groovy. Groovy not only for its Dynamic features but also can be used as functional language. If you know a Haskell language a powerful functional language which has a Curry method. This is offered in Groovy by curry method.

If you wish to read Groovy then you can look into:

1)Groovy In Action

2)Pleac/Groovy

And also look into this GroovyDoc

As Ralf mentioned in his comments: "If you code in Groovy then, it could even be that you don't want to program java anymore..."

share|improve this answer
    
I think now as groovy 2 has developed we are also getting good access to Groovy Static which is geat when needed and something I miss in Python –  sayth Jul 6 '13 at 22:59
add comment

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?

share|improve this answer
    
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
add comment

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.

share|improve this answer
add comment

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.)

share|improve this answer
    
Even Groovy has a great community :D –  Ant's Aug 5 '11 at 16:51
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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