Please wait while the page is being loaded Skip this advertisement >
Friday | 5 December, 2008
Ruby faces off against PHP, Java
CommunityOne conference panelists debate pros and cons of scripting languages
Paul Krill (InfoWorld) 06/05/2008 10:22:17

Ruby experts compared the scripting languages of the rival PHP (Hypertext Preprocessor) language and Java during a panel session at the CommunityOne conference in San Francisco on Monday.

After an audience member asked why he should choose Ruby over PHP, panelists cited benefits such as test-driven development.

"There's a culture that's sprung up around Ruby," and the companion Ruby on Rails framework that is different from PHP, said Charles Nutter, a Sun engineer who has worked on the JRuby project. JRuby provides a version of Ruby to run on the Java Virtual Machine.

"You are pretty much ostracized from the Ruby world unless you're doing test-driven development," and writing good tests, Nutter said.

With PHP, everyone has his or her own way of doing applications, he said. Testing and tried-and-true design patterns are not part of PHP culture, Nutter said.

PHP, said moderator Mark Driver, an analyst at Gartner, is "ridiculously easy to learn." PHP and ColdFusion enable developers to do an "amazing" amount of work, he said.

"But you do tend to hit the limit when your architectural complexity goes beyond a certain space," Driver said.

The panel also pondered whether Ruby could compete with the Java language. Driver said developers he has spoken with have used words like "elegant" and "beautiful" to describe Ruby. These, Driver said, were "things I hadn't heard in the Java world, quite frankly."

Panelist Thomas Enebo, a JRuby core developer at Sun, said Ruby was created to be fun. "If something is fun to you, it is going to end up being productive as a byproduct," Enebo said.

Java, said panelist David Koontz, president of Happy Camper Studios, is a higher level system language whereas Ruby is an application language. A system language is faster when an application needs to be fast, he said.

Unlike Java Ruby does not have a formal design body for the language, an audience member said. Java is overseen by the Java Community Process (JCP). He wondered if Ruby would need a formal standardization process.

Ruby has lured people who want to create their own language features, said panelist Sarah Mei, an independent developer. But Ruby has been attracting more people who want a formal process and that is probably the way it will go, Mei said.

Nutter cited a project that spawned out of the Rubinius virtual machine effort that would create specification tests for Ruby. "That's really probably going to start helping us define what Ruby is today," and help determine what happens tomorrow, he said.

Also, Ruby implementers have gotten together to determine features planned for Ruby via the IRC effort, Nutter said.

Asked about efforts to run Ruby on multi-core systems, Nutter said JRuby is native-threaded, supporting multiple threads. Efforts are afoot for the standard implementation of Ruby to support this as well, he said. Fine-grained locks will be needed around C structures in Ruby, he said.

Panelists also cited NetBeans and CodeGear's 3rdRail as useful tools for Ruby and Ruby on Rails.

Computerworld Buyer's Guide - Vendors Matched to this Article
More about VIA, CodeGear, Gartner
Computerworld Buyer's Guide - Vendors Matched to this Article
Additional Resources
Executive Guides
Whitepapers
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.
Newsletter Subscription
Sign up for our Computerworld newsletters!
RSS Feeds
Market Place

 

Smart SOA World Tour

Discover how SOA can create smarter outcomes for your business.

Attend and learn:

  • How SOA is helping leading companies to become more agile
  • Where you should be applying SOA processes in your company
  • The top SOA implementation mistakes to avoid

Click here for more information.
Whitepaper

Email Archiving Implementation: Five Costly Mistakes to Avoid

Email Archiving is essential for managing email data, but is potentially expensive to implement. Read on to discover the five key areas where email archiving costs can be contained, including data capture methods and default configuration methods.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links