InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Tim Bray compares intrinsic qualities of Java, Rails, PHP

Posted by Floyd Marinescu on Nov 10, 2006

Sections
Development,
Architecture & Design
Topics
Performance & Scalability ,
Ruby ,
Java ,
Web Frameworks
Tags
Productivity
A firestorm was set off on a TSS thread about a slide from Tim Bray's keynote at a PHP conference with a bar graph showing PHP more scalable than Java.  Tim Bray has since put the slide in context in a comparison intrinsic qualities of Java, Rails, and PHP on his blog, as well giving InfoQ his own personal take on it.  The context for the discussion is Web Application Building, which Tim characterizes as a problem space in which "we are not considering general issues of compute performance, because in Web apps, you don’t do much computing. You get some values from the browser, you use them to pull some info out of a database, you report them to the user, maybe you update the database, and that’s about it."

InfoQ asked Tim about some of the more surprising conclusions of his intrinsics comparison:

InfoQ: Why is Rails more maintainable than Java?
Mostly because there's less code.  The fact that Ruby *forces* MVC on you helps too, also the fact that the templating and ORM and testing and application code are all so tightly integrated helps.  Bear in mind that we still don't know how well Rails is going to work outside of the CRUD-centered greenfield app space where it shines.
InfoQ: Why is PHP more scalable than Java?
It isn't, but in the Web-app space, it's a little easier to scale (shared-nothing by default); Java requires you to think.
InfoQ: So which intrinsic is more important to you?
For me, maintainability; but I'm sure there are lots of other people who would make different choices for very good reasons. 
Tim also explained the maintainability point further on his blog:
Out there in the wild woolly “Web 2.0” world, maybe getting it built quick is all that matters, because after you’ve knocked ’em dead and been acquired, you can use the money from the Yahoo! buy-out to rebuild everything right the second time. In the enterprise though, I kind of suspect that smart developers and smart managers know that for real apps, the big development cost starts to happen after they’re delivered.
You can also see Tim Bray on InfoQ's video interview with him on Rails, Rest, Java, and XML.

No comments

Watch Thread Reply

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.