RIA News Desk

Subscribe to RIA News Desk: eMailAlertsEmail Alerts
Get RIA News Desk via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: RIA Developer's Journal, AJAX World RIA Conference

RIA & Ajax: Article

AJAX on Rails: An AJAXWorld Interview

Full Transcript of Dion Hinchcliffe's SYS-CON.TV Interview with David Heinemeier Hansson

Hinchcliffe: Even though Ruby is a dynamic language, that doesn't seem to be a limiting factor in any way.

Hansson: Not at all. It's certainly true that Ruby can be slower than, for example, compiler languages like Java or C#, but that's not performance, and performance matters less and less every day. Hardware is getting cheaper and cheaper, so the only thing that matters is whether your requests are profitable. If you add a new person, that amount of load he puts into your server, is that a profitable thing? But the prices at which you can buy hosting, you can buy dual Athlon 64-bit machines, it's really not a problem, for most things. Yes, there are interplanetary calculations that might need more processing than Ruby can offer.

Hinchcliffe: The cost of programming itself is one of the big issues, and the fact that you need half as many or a third as many programmers to do the maintenance of the code, that could make a big difference right there.

Hansson: Today programmer hours are not cheaper than they were 10 years ago. That price is largely unchanged. CPU cycles? They're orders of magnitude more cheaply available than they were 10 years ago.

Hinchcliffe: They get cheaper all the time, right.

Hansson:  They get cheaper all the time, so you reap the benefits all the time. What we really should be focusing on is how can we exchange that immense power we've gotten in the last decade and trade it in for something more valuable, like more productive programmers. In the vast majority of cases, it's really worth it to say, I'll take some performance hit if I can get more productive programmers, because the vast majority of business applications and other Web applications simply don't have really hard computational needs. No, I would not build the Google search engine in Ruby. I wouldn't even build it in Java, and they probably didn't build it in Java. They didn't build it in C# either. The fact is a lot of the super high-scaled applications on the Web are built in the fastest stuff you can find - C, C#.

Hinchcliffe:  But Ruby on Rails is the solution 80% of the time is the argument, right?

Hansson: Yes, but there are tons of applications inside of Google. Google just bought Measure Map, for example.

Hinchcliffe:  And Writely.

Hansson: And Writely. Writely is not a Rails application; that's a C# app, but most applications don't have the scaling needs that the Google search engine has, and people have a tough time dealing with that. A lot of people want to think that they're working on the most unique special mega application in the world, when really they're just doing another business system. If people could just realize that the stuff that they're doing is not that special, not that unique, they could reap a ton of benefits from it; however, I see this problem - that people seem to aspire to whatever the highest scaling application out there is using and say, "Let's use that." If you can find some huge scaling site on Java, people think, "Oh, I need Java." For example, if you wanted to drill a hole in the wall, you don't buy a drill that matches the hole you want. You don't go get a sledgehammer, or you don't get something else just because it's a more powerful tool in the amount of destruction that's going to be made. I think that's one of the misconceptions around these languages, that it's so valuable to have extreme performance, when there are tons of other attributes that are more valuable - programmer productivity, how maintainable your application is over time, whether you can do it in AJAX, and all of these other things. I think people ignore that.

Hinchcliffe: I was reading the Agile Web Development with Ruby on Rails; I was using that and I found because of the newness of it, there really wasn't much yet up on the Internet to figure this out.

Hansson: That's always a problem with new technology, so one thing that's really been going for Ruby on Rails is the fact that we've got major publisher support behind it. On top of the book that Pragmatic Bookshelf is doing, which is the Agile book, the new Rails recipes book, I think we have another eight books in production from O'Reilly, from most of the major publishers.

Hinchcliffe:  There's a powerful wave of documentation.

Hansson: There's a wave of documentation coming, and a lot of people are using it and use it in ways that they then describe what they do; they write tutorials, so the mind share that Rails is collecting right now, it's being transformed into tutorials. There's a conference, 550 seats selling out in a week. A mailing list that's more active than just about any other mailing list with anything Web-related on the Web, so there are a ton of places where you can get help simply because Ruby on Rails now has a sense of critical mass around it.

Hinchcliffe: One last question, because we're way over time already. Rails 1.1, it tells us Ruby on Rails is not finished evolving. Can you tell us real quick what we're going to see?

Hansson: There's a bunch of new things in Rails 1.1. I always have this notion that at some point we'll be done, and I'm continuously surprised just how many new ideas we get simply by using Rails. The big thing in Rails 1.1 is something called RJS, which is Ruby-generated JavaScript. It's a way of writing AJAX applications by writing Ruby that then generates a JavaScript instead of writing JavaScript directly, so you can get the Ruby-nice feeling of creating your application while you're creating JavaScript.

Hinchcliffe:  The ease of programming in Ruby but you're actually having JavaScript in the browser, right?

Hansson:  Exactly.

Hinchcliffe:  Very good. Well, David Heinemeier Hansson, thank you very much.

More Stories By RIA News Desk

Ever since Google popularized a smarter, more responsive and interactive Web experience by using AJAX (Asynchronous JavaScript + XML) for its Google Maps & Gmail applications, SYS-CON's RIA News Desk has been covering every aspect of Rich Internet Applications and those creating and deploying them. If you have breaking RIA news, please send it to RIA@sys-con.com to share your product and company news coverage with AJAXWorld readers.

Comments (14)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.