Ruby v/s Java Conundrum: Part 2

author-image
CIOL Bureau
Updated On
New Update

In the previous series Vineet Tyagi dealt in detail with the pros and cons of Java language. In this series he presents his viewpoint on the nuances of the Ruby platform.  

Advertisment

Ruby language:

Ruby is a reflective, dynamic, object-oriented programming language. It combines syntax inspired by Perl with Smalltalk-like object-oriented features, and also shares some features with Python, Lisp, Dylan, and CLU. Ruby is a single-pass interpreted language.


Ruby Pros:

  • Productivity, Ruby and Ruby on Rails  (RoR) have higher productivity measured as Lines of code per feature size and time to build feature.
  • Short ramp up times, well motivated team and experienced team can be productive on RoR platform in less than a week cross training

A long list of industry Visionaries are supporting Ruby

  • Martin Fowler, chief scientist at ThoughtWorks
  • James Duncan Davidson, creator of Ant and Tomcat, is using Rails within a start-up to develop a web-enabled rich application that will be the primary offering of that company.
  • David Geary, key designer for several successful web development frameworks including JavaServer Faces (JSF). David is speaking and blogging about Rails with regularity.
  • Richard Monson Haefel, once one of two voting individuals for the Java Community Process (JCP) recently led the Burton Group in a discussion with high-profile U S companies about Ruby on Rails as an important emerging technology. He has also published a paper about using Rails with Oracle.

Ruby and Ruby on Rails have higher productivity which leads to other benefits like:

  • More productivity leads to fewer developers per project.
  • You spend less effort on communication for small projects.
  • Having fewer developers per project also lowers management costs per project.
  • When you finish applications sooner, you deliver their value to the business sooner.

However, Ruby community is less structured and less established than Java community, so it's harder to find third-party components, frameworks, education, and services.

Advertisment


Ruby Cons:

  • As a new language, Ruby could potentially stagnate, which could make scarce resources even harder to find.
  • There are not as many deployed Ruby applications in production yet, so we don't have as much definitive proof of the ultimate scalability of Ruby.
  • The Ruby community is not as well established as the Java community, so it's harder to find third-party components, frameworks, education, and services.
  • Ruby is less structured than Java and has fewer automated features to protect applications from abuse. This flexibility is both strength and a weakness.


Summary:

Impetus strongly believes that in the current scenario Java and Ruby technology platforms will continue to coexist and address different needs. RoR and Ruby platform is much better suited for particular types of Web Applications and Sites where application programmers can control the database. Java technology platform is proven and addresses issues like two phase commit and distributed objects well.

In the near future the equations may change. Ruby platform has a high chance of overtaking Java Platform to be the platform of choice for building all types of application. 

Impetus believes that the following factors are conducive of Ruby's probability of replacing Java:

  • Network ubiquity and increasing bandwidth changes the dynamics and premises on which the distributed architecture principles were built. Thin client and layered architectures were necessitated for conserving network bandwidth and reducing network traffic due to latency. In a world with fast and fat pipes of connection these premises would not hold anymore. This tilts the balance in favor of Ruby and ROR.
  • CPU cycles and memory is becoming ridiculously cheap. Performance and scaling up potentially will be lesser an issue as you could use more hardware to scale up applications without having to take on a huge cost burden. This again tilts the balance in Ruby's favor.

(The author is Associate Director of Engineering with Impetus Technologies)

Advertisment
tech-news