Hey, My friends are about opening a Ruby/Rails shop and they are asking me to join them. Sure, I'm not leaving Java. But do you think Ruby/Rails worth the time to learn? To be honest, I don't Ruby/Rails so much. For me, Ruby was a dead language that got a life kiss from the Rails framework. Ruby doesn't has an umbrella like the JCP, neither a foundation like the Python Foundation, it doesn't has even a specification. Well, you got the picture, I don't like Ruby/Rails but I can make some extra money. Your advice?
I think it's a great opportunity for someone passionate about learning new things. I've gone back and forth a number of times whether or not to jump into Ruby. Ruby is fairly strong in Columbus and I've heard that it's even easier to find a Ruby job in places like New York.
A lot of the "Wow this is awesome!" bits of Ruby and/or Rails exist in Groovy and/or Grails and so I've gone that route instead. It was a lot easier to slowly make Java-like code Groovier as I learned it, rather than going cold turkey with new syntax and libraries.
Still, I'm trying to stay in the loop with Ruby, which includes attending the eRubyCon this upcoming weekend.
One way of looking at your decision: you can always come back to Java.
About half of those are criticism of loosely typed/dynamically typed languages in general and not Ruby in particular. ( and they can all ne turned around into a criticism on the inflexibility/extra verboseness of strongly typed languanges.
The thread issue is legit, IMO, but they are working on it.
The speed issue is true, but often not really relevent. And Java had that claim leveled at it for years, even after it was no longer a major issue, so I find it very hypocritical to hear coming from Java fans.
Monkey patching.. there have been times when it really simplified my design of a system, but yes, it something that can be abused very easily...
One of my favorite things about Ruby/Rails (when I worked in it about two years ago) was the culture -- it hadn't yet seen the massive influx of more junior programmers. The quality of discussion on its blogs and mailings lists was amazing and the amount of care people invested in making sure DRY and Conventions really made sense/worked as expected was wonderful. Its not that it was more than the Java equavalent, just better signal to noise. It was nice being in a place where TDD and other agile practices were basically the default behavoir of the developers. I don't know if this culture has survived the more widespread adoption, however.
Originally posted by John Todd: I'm not leaving Java to be sure I will just work with them in my extra time (which I can hardly get) Personally, I like learning Python and Scala instead of Ruby...
The really great thing about Groovy is that you can slowly start using it in your Java projects. Just add the groovy jar to your classpath, and start creating .groovy classes instead of .java. If you want to get an introduction to dynamic languages as a java programmer, I can't think of a better way to start.
The easiest way to get Groovy into your project, especially if you might have skeptics on your team who may not appreciate an additional language, is to write some tests with Groovy: http://groovy.codehaus.org/Testing+Guide
Originally posted by Marc Peabody: A lot of the "Wow this is awesome!" bits of Ruby and/or Rails exist in Groovy and/or Grails and so I've gone that route instead. It was a lot easier to slowly make Java-like code Groovier as I learned it, rather than going cold turkey with new syntax and libraries.
Same with Marc. Coming from mainly Java background, I've been discovering some of the Wows of Ruby/Rails through Groovy/Grails. I bought the Beginning Ruby book from Apress a couple of months back but never had the chance to open it. I also got a Grails book (also from Apress) just recently and have been amazed at how easy web development has become.
I might try Rails soon, but probably not until there's a need to deploy a public web site wherein the Rails approach would be more cost effective (in terms of hosting costs) than the Java approach.
Quoting some of the arguments being used in the RIA world, the extensive API libraries available in Java somehow gives JavaFX an advantage (although it's still to early to tell the clear winner in that field).
Well anyway, I think this is also one benefit which Groovy and Grails can use to its advantage, at least for those who are already familiar with Java.