Look out, Java. Ruby on Rails is staking out your turf. But all is not lost for Java, which still enjoys advantages in areas such as security, based on feedback at the Ruby on Rails Camp event, held last month at the IBM Almaden Research Center in San Jose.
Not long into the morning festivities, Ruby on Rails faced off against Java in the minds of the 150 attendees and organizers. Ruby is a trendy, object-oriented scripting language; Ruby on Rails is an open source Web framework leveraging Ruby. A theme of the event was how to use Ruby in business applications.
Although Ruby on Rails programs run slower than Java systems, Ruby is much easier for programmers to use, said Max Dunn, an event organizer and programmer. He argued that it may be cheaper to use Ruby on more servers than it is to hire more Java programmers who would need fewer servers. Silicon, as in more servers, may be cheaper than carbon, as in more programmers, he explained.
“(With) Ruby, you read it and it reads like natural language. That attracts me,” said Wido Menhardt, a conference organizer and programmer.
“Ruby is a really good thing. It has its pluses and it has its minuses,” said independent programmer David Pollak, an attendee and presenter at the event. “The syntax of Ruby is beautiful,” Pollak said. It is also dynamically typed, he added. “This is probably the biggest brain change for Java people.”
With security, the advantage goes to Java over Rails. “A lot of the security, you have to do by hand, which in some cases makes it less productive than Java,” Pollak said. “In Rails, there’s not a security model yet.”
Ruby also has no navigation tools and developers have to write their own tests.
“The compiler’s not going to do a lot of your homework for you,” Pollak said. Ruby on Rails, though, “has the most complete testing framework that I’ve ever seen in anything.” Ruby developers must be more meticulous about testing than Java developers because of the dynamic typing nature of Ruby, Pollak added.
Java utilizes the write-once, run-everywhere concept via the Java Virtual Machine, while Ruby looks to integrate well with every platform, Pollak said. Java also can handle more complex database transactions and stored procedures.
Strong HTTP mapping, however, is offered for Rails, Pollak added.
A developer at DropVolley.com, a social networking site for adult-league tennis, said Rails proved more productive at his current place of employment than Microsoft’s .Net technology.