# Java vs. Ruby on Rails

**URL:** <https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846>\
**Category:** Rails\
**Created:** [September 6, 2008, 12:16am UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846 "2008-09-06T00:16:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![coldtone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9e8a1a/32.png) [@coldtone](https://www.ruby-forum.com/u/coldtone)\
**Post date:** [September 6, 2008, 12:16am UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846/1 "2008-09-06T00:16:20Z")

</div>

I wrote a blog post [Java vs. Ruby on  
Rails](http://www.pardontheinformation.com/%0A2008/09/java-vs-ruby-on-rails-it-is-dead-heat.html) that I thought you might enjoy.

---

<div class="post-metadata">

**Author:** ![coldtone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9e8a1a/32.png) [@coldtone](https://www.ruby-forum.com/u/coldtone)\
**Post date:** [September 6, 2008, 12:18am UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846/2 "2008-09-06T00:18:06Z")

</div>

> **[Java vs. Ruby on Rails - It is a Dead Heat](http://www.pardontheinformation.com/2008/09/java-vs-ruby-on-rails-it-is-dead-heat.html)**
>
> Pardon the Information about of Java vs. Ruby on Rails - It is a Dead Heat.

---

<div class="post-metadata">

**Author:** ![coldtone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9e8a1a/32.png) [@coldtone](https://www.ruby-forum.com/u/coldtone)\
**Post date:** [September 6, 2008, 6:06am UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846/3 "2008-09-06T06:06:38Z")

</div>

Just some thoughts:

- Controller testing

If you’re using an old framework like Struts 1.2 (it was already  
pre-historic and a bad choice), controller testing is a mess. If you  
reach newer frameworks (and you don’t even have to go that far, get  
WebWork as an example) you don’t have any clutter and you can test  
your controllers without using tools like Cactus.

- Code convention

I think you got this wrong, maybe you’re referring to  
“convention-over-configuration”, 'cos Java, unlike Ruby, has clear  
code conventions defined and documented by Sun (  
[Oracle Java Technologies | Oracle](http://java.sun.com/docs/codeconv/) ).

- Developer tools

Saying that Eclipse’s Java tools are “slightly better” than the Ruby  
tools (do they still exist in Eclipse? i’m using NetBeans for Ruby and  
Rails coding right now). The JDT is a real IDE for Java development,  
fully integrated with the language and environment, the JDT even has  
it’s own compiler, for avoid the shortcomings of the “javac” compiler,  
beyond that, there are hundreds of plugins to complement the JDT with  
deep integrations with other parts of the Java environment (like  
AspectJ, Spring IDE and a lot more).

Saying that this is just “slightly better” is really unbelievable,  
when the only thing that exists for Ruby is a broken and hard to use  
plugin.

- Code library complexities

RubyGems is cool and Java has no packaging system of it’s own, a point  
for Ruby, but saying that discovering “which” Web sevices, Java and  
Tomcat work together is really simple, download the web services SDK,  
it comes with the web services package and a Tomcat configured to work  
with it. It couldn’t be better, could it?

- New developer learning curve

Oh yeah, so you don’t even need to know how to code, just get a Rails  
book and be done with it, right?

No Ruby learning, write ugly and bad code, you may learn while you  
write some piece of garbage.

- Service up-time

Java’s “hot-deployment” feature is a mess and this is not an  
application server issue, it’s a JVM issue. You will always have to  
restart your server, as wherever you start to use “hot-deployment”,  
that is always some memory from the perm-gem that is never reclaimed  
(and some servers, like Tomcat and JBoss) are famous for it’s memory  
leaks and broken hot-deployment feature.

- Clustering

You don’t mean session clustering and EJB here, do you?

"cos session clustering is one the most evil things you can do with a  
web application and EJBs are, well, EJBs 😉

- International language support

Maybe you should look for Globalize and Globalite. Or even better, try  
google → [rails i18n - Google Search](http://www.google.com.br/search?q=rails+i18n)

I’m a Ruby and Java developer (i even write some code with C# from  
time to time…) and i’m not here to sell one or another, but i think  
you should read and use the tools a litle bit more before performing  
those comparisions.

On Fri, Sep 5, 2008 at 7:17 PM, Rob M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> [Java vs. Ruby on Rails - It is a Dead Heat](http://www.pardontheinformation.com/2008/09/java-vs-ruby-on-rails-it-is-dead-heat.html)

–  
Maurício Linhares  
[http://alinhavado.wordpress.com/](http://alinhavado.wordpress.com/) (pt-br) | [http://blog.codevader.com/](http://blog.codevader.com/)  
(en)  
João Pessoa, PB, +55 83 8867-7208

---

<div class="post-metadata">

**Author:** ![coldtone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9e8a1a/32.png) [@coldtone](https://www.ruby-forum.com/u/coldtone)\
**Post date:** [September 6, 2008, 4:19pm UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846/4 "2008-09-06T16:19:16Z")

</div>

Rob M. wrote:

> I wrote a blog post [Java vs. Ruby on  
> Rails](http://www.pardontheinformation.com/%0A2008/09/java-vs-ruby-on-rails-it-is-dead-heat.html) that I thought you might enjoy.

Just a summary criticism: You are comparing apples to oranges, and  
this reduces your details to generalizations, like “fruits are sweet”.

Java is a language and Rails is a platform.

And the general rebuttal is Sun supports Java. Ruby has no single huge  
corporate backer, meaning its technology must be much higher quality.  
Specifically - it will have less “vendor lockin”.

–  
Phlip

---

<div class="post-metadata">

**Author:** ![coldtone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9e8a1a/32.png) [@coldtone](https://www.ruby-forum.com/u/coldtone)\
**Post date:** [September 6, 2008, 4:09pm UTC](https://www.ruby-forum.com/t/java-vs-ruby-on-rails/147846/5 "2008-09-06T16:09:53Z")

</div>

Maurício Linhares wrote:

> RubyGems is cool and Java has no packaging system of it’s own, a point  
> for Ruby, but saying that discovering “which” Web sevices, Java and  
> Tomcat work together is really simple, download the web services SDK,  
> it comes with the web services package and a Tomcat configured to work  
> with it. It couldn’t be better, could it?

I wrote this about my adventure with Tomcat:

[http://c2.com/cgi/wiki?ConfigurationHell](http://c2.com/cgi/wiki?ConfigurationHell)

Why does anyone think twiddling endless is “productive”? There’s an  
old metaphor - if I had 3 hours to chop down a tree, I’d spend 2  
sharpening my ax. However, some folks think that the more strokes  
required to cut down the tree, the more “progress” we made.

Convention over Configuration is the way to go…

–  
Phlip
