Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Development productivity of Ruby on Rails vs. Java in 2009

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 !

like image 716
Juan Avatar asked Aug 13 '09 14:08

Juan


People also ask

Is Ruby on Rails better than Java?

When comparing Ruby on Rails vs Java performance, Java is a clear-cut winner as it offers better application performance. As per the Java architecture, the JVM transforms the code into machine code quicker and hence your Java application code is executed speedily as compared to RoR.

Which is faster Java or Ruby?

Ruby is simpler hence faster than Java. The code written in Ruby changes on the fly, while its competitor needs to generate the byte code before it can run. The Ruby performance supremacy is true for small tasks only, while Java recoups huge computational needs.

Is Ruby on Rails still relevant 2022?

Ruby's and Ruby on Rails' Overall Popularity Although way behind main contenders, such as PHP or Python, Ruby still makes the cut for the 20 most popular programming languages list in 2022. The 2022 edition of Stack Overflow Annual Developer Survey also places RoR in a similar spot.

Are Ruby on Rails developers in demand?

Ruby on Rails is alive and breathing, and may even outlive its competitors. Of course, the application development process becomes increasingly complex and requires new capabilities from the frameworks at a rapidly increasing rate.


2 Answers

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.

like image 124
Vinay Sajip Avatar answered Sep 19 '22 13:09

Vinay Sajip


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.

like image 33
doomspork Avatar answered Sep 19 '22 13:09

doomspork