views:

650

answers:

2

Hi,

I know this has been a hot topic in the past, spawning many flame wars and a tribe-like attitude in the forums. Some years have passed and Java has evolved: we now have more annotations for almost everything, nice scaffolding tools like Appfuse or Spring Roo, etc.

I'd like to know, from people who have developed real projects on RnR and Java (any frameworks) if you think that the speed of development in RnR is still faster than Java (this is the main asset of RnR and for many people the reason for choosing it) after the first month of development

Please notice that this is not a question about other benefits like execution speed, scalability, etc. Only development speed.

Also it's not a question about other alternatives (like using JRuby and combining both worlds, or Grails) It's just about Java and Ruby.

Sincerity in this topic would be really welcome: most blogs seem to be die-hard fans of one of both technologies.

Thanks for any insight !

+3  A: 

It seems a very apples-and-oranges comparison if you have to compare "Ruby on Rails" (a specific framework) and "Java" (a general purpose programming language) without considering specific Java frameworks. For example, Grails is pretty analogous to Rails in terms of the concepts and terminology used; yet you are specifically saying this is not a question about e.g. Grails, just about Java and Ruby. But it appears you are not just referring to Ruby the language, as elsewhere you refer to Ruby on Rails specifically.

In terms of development speed I would say that there is not much to choose between Ruby on Rails and Grails, as both allow similarly rapid development.

Update: You say "The Java frameworks and tools are free", as if the others are not. But Groovy and Grails are available under open source licenses and are free downloads, too, AFAIK -so also free as in beer/speech. Groovy could also be regarded as a framework on top of Java, stretching a point, as you can freely call any Java code from Groovy.

Another interesting platform is Django, which works on Jython, which runs on the JVM. Django definitely offers high productivity and rapid development, and Django on Jython offers that running on the JVM. Would you also discount this because it's based on Python rather than Java? The biggest productivity leverage that both Grails and Django have over Java-only frameworks is that they are based on dynamic languages. If you insist on sticking to Java + Java language frameworks such as available from SpringSource, then you lose a lot of the agility that Python and Groovy provide, though Spring has nice frameworks too if you want to go down that route.

Vinay Sajip
I'm discarding Grails because it's based on Groovy, not for being a framework. The Java frameworks and tools are free. It's Java + the best framework(s) available today vs. RnR
Juan Medín
+2  A: 

The answer to your question depends on the complexity of the application involved and the knowledge of the developer(s) involved; a developer with extensive knowledge in Java put to work on a Ruby application is going to be much slower and vice versa.

One of the selling points of RnR is that development is supposed to be faster, so asking which one is faster while not considering all of the other variables that impact your decision is a loaded question. Java development may have higher development costs but there are reasons why people absorb those costs.

The tools you leverage shouldn't be used because development is "faster" or "easier" if it conflicts with what the requirements are asking you to do.

Doomspork
You are right, but I'm trying to measure a metric: development speed. I'm not taking any decision based on it alone. I just want to get a focused answer on this topic. It's assumed the same level of experience / skill for the developers.
Juan Medín
I believe I addressed that. RnR is BUILT to be faster at development at the cost of other aspects. Most, if not all, dynamic languages are going to have faster development times.
Doomspork