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.
Read up on the latest ideas and technologies from companies that sell hardware, software and services. Mimosa™ NearPoint™ for Microsoft® Exchange Server: Email Archiving 101
Business Intelligence and Enterprise Performance Management: Trends for Emerging Businesses
Making the Business Case for IT Consolidation
The state of Middleware
Gaining Competitive Advantage Through Enterprise Planning
Solve Exchange Mailbox Storage Issues Once and for All
IT Service Management Needs and Adoption Trends: An Analysis of a Global Survey of IT Executives
Refresh your AUP: Top tips to ensure your acceptable use policy is fit for purpose
Zones provide focussed content from Computerworld and leading technology partners.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.
- +
Computerworld Live Podcast #97: The Future of Enterprise Networking 25/07/2008 09:45:36
This week CW Live chats with Mark Thompson, global sales and marketing manager for HP ProCurve, on the future of the enterprise networking. Mark discusses the trends we can expect to see in the near future and how the right infrastructure can ensure your enterprise network is secure. - +
Computerworld Live Podcast #96: Security at the Edge 11/06/2008 09:22:22
CW Live speaks with Amol Mitra, HP ProCurve Director of Marketing for Asia Pacific and Japan. Today's topic: how enterprises are starting to shift away from simply controlling security via server logins, firewalls and moving to more adaptive security frameworks. - +
Data Management Edition #10: Multi-Petascale Systems 02/05/2008 09:12:33
This week we look at sustainability and the development of multicore technologies to build multi-petascale systems. - +
IT Security Edition #11: How to poison the Storm botnet 01/05/2008 08:51:55
This week CW Live presents a case study on how to poison the notorious Storm botnet . Plus we take a look at Cisco's plans for Ironport. - +
IT Security Edition #10: Cyber-battles fought and won 24/04/2008 11:09:47
Vendors bow to end user pressure to improve product security, and we take a look at the latest concepts shaping the cyber-battlefield of the future.
Fortinet November Threatscape Report Shows Calm Before Holiday Storm 2008-12-05 16:00:00+11
Epicor® Cited as an Order Management Solutions Leader by Independent Research Firm 2008-12-05 15:52:00+11
F-Secure: Growth In Internet Crime Calls For Growth In Punishment 2008-12-05 13:00:00+11
International researchers gather in Sydney to preview the clever web 2008-12-05 09:48:00+11
Borderless corporate networks to shift focus to secure content management in Australia in 2009 2008-12-04 16:06:00+11
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.












