I'm considering to learn two programming languages this year.
What I already know are: Java, Groovy and good familiarity with Python
Languages on my paper is:
Scala, Clojure, Ruby and Haskell
I want a language that will magnifies my lenses.
But since I'm posting in Ruby forum, I'm considering to give it a shot to see why many people are talking about it.
The one thing discouraging me is it seems to me that all the Ruby talks revolve around one thing: Rails framework
It looks like Ruby has nothing in the ecosystem except this framework.
Python on the other hand has many many eggs under it.
I would like to hear your opinion and stories.
I've been doing Ruby the last year and did Groovy the year before.
Most of the projects have been Rails but one project was actually all QA work using Ruby to write automated tests against a Java app (pretty much doing something like Selenium but with more control over the testing environment). For that project we used the Watir framework.
Ruby was a pretty easy transition from Groovy syntactically but I've found meta-programming to be more natural in Ruby.
1. Is Groovy the same performance wise (speed of execution) as Java?
2. If features such as Closures are going to be added to Java 7 as pointed here, wouldn't it make Groovy's syntactic ease redundant?
3. I really do want to learn Groovy since it looks like a fun & easy language to use syntactically, however, which IDE would you use for Groovy development? I currently use Netbeans but Groovy support there was flaky at first. Now, the IDE does things which are inexplicable sometimes (such as throwing errors at will in Groovy code or not recognizing variables and then everything turning to normal after an IDE restart).
Personally, I am considering a choice of learning between Groovy & Scala.
1. If you search this forum you will find many posts discussing Groovy performance but in general Groovy performs slower than Java due the dynamic nature of Groovy.
But Groovy performance is becoming better and better with each release and it seems that Groovy 1.7.1 outperforms any Groovy release.
2. I'm not the authority to talk about Groovy but no, I don't think Groovy will be affected if Java 7 will have Closures.
Groovy is not a parasite on Java's body, it is an independent entity.
3. I use IntelliJ for all my development (Java, Groovy and Scala), IntelliJ worth every penny you pay.
Hope this helps.
Im still learning rails\ruby, but something that caught my atention while I was looking into pragmatic's bookshelf is that they've got a book called "everyday scripting with ruby", about, well, making scripts in ruby to help you in your everyday life
maybe this will catch your interest too, as you mentioned about ruby being seemingly one-purposed.... I plan on getting this book after Im more familiarized with rails