InfoQ

News

Tim Bray compares intrinsic qualities of Java, Rails, PHP

Posted by Floyd Marinescu on Nov 10, 2006

Community
Java,
Ruby
Topics
Web Frameworks ,
Performance & Scalability
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

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.