InfoQ

News

Interview: Dave Thomas on Ruby, Rails and Choosing the Right Tool

Posted by Sam Aaron on Dec 11, 2007 10:19 AM

Community
Ruby
Topics
Ruby on Rails ,
Web Frameworks
Tags
Ruby on Rails

Pragmatic Programmer Dave Thomas, author of the ‘pickaxe book’ Programming Ruby, and co-author of Agile Web Development with Rails and The Pragmatic Programmer, found some time to talk with InfoQ about Ruby, Rails and the importance of choosing the right tool for the job.

Watch the full interview here (22 mins)

When asked what he thought about the influence of Ruby and Rails, Dave hoped that it would encourage developers to explore and discover new options, rather than sticking to the same set of tools:

“People have seen the success of Ruby, the success of Rails and said: “Oh, it is possible to use something different.” and that’s encouraged people to go out and explore.”

When asked why people should explore other options, Dave described how in certain contexts it made business sense to use instead of one of its competitors: J2EE

“If you look at Rails, most of the consultants that I know that are experts in both Java and Rails will tell you that they get between maybe 5 and 15 times performance increase, let’s say 5. They can write their applications maybe 5 times faster, so for domains where Rails is applicable, and that’s not all domains, but in those domains where it’s applicable a shop can turn out an application with 20% of the effort, if they were to use Rails over say C# or Java. If that’s the case then really you could say that developers who stick with the Java model and C# model are actually being negligent, because they are costing their shops so much extra money”

Dave also believes that some of the more ‘enterprise’ solutions can also be very hard to learn:

“I don’t even know how a beginner J2EE developer gets started, because the stack of books you have to read just to write a simple J2EE application it’s probably 5-6 feet tall”

“It’s a lot of pain for not much payback”

Dave cited a lack of vendors as one of the advantages of lesser-used technologies such as Ruby. In fact he believes that vendors can actually get in the way of choosing the right tool, as they have an agenda for just one technology:

“I think anybody who tries to push any technology in as the solution is missing the point.”

However he emphasised that Rails wasn’t always the best solution, and that the important thing was to make sure that you choose the right tool for the job:

“Rails is a particular solution for particular set of problems and part of the trick is making sure you use it appropriately.”

Dave described how Rails is an example of a framework that focusses on one particular problem-set and doesn’t try and solve every developer’s need. He hopes that people start to realise the benefit of this approach, and start to write more similarly focussed frameworks for particular problems:

“I think what we are going to see, or at least I hope what we’re going to see, is people realizing yet again there is no one single best solution and that maybe we can look to have smaller and more focused frameworks or solutions for individual styles of problem”

Finally, when asked why Ruby made him happy, he was only too pleased to answer:

“Coding in and Ruby makes me happy because it’s one of the shortest paths between my brain and a computer. I can think of something and I can express it very succinctly and typically fairly elegantly in Ruby without all the kind of extraneous fluff that you need in most of the languages and that makes me happy.”

Watch the full interview here (22 mins)

7 comments

Reply

Podcast? by Joel Neely Posted Dec 4, 2007 9:56 AM
Re: Podcast? by Victor Cosby Posted Dec 4, 2007 10:45 AM
Strong words by Michael Neale Posted Dec 9, 2007 11:56 PM
Re: Strong words by Michael Neale Posted Dec 9, 2007 11:57 PM
Re: Strong words by Michael Neale Posted Dec 9, 2007 11:58 PM
formats by Al Tenhundfeld Posted Dec 12, 2007 12:10 PM
No Silver Bullets by Geoffrey Wiseman Posted Dec 13, 2007 10:14 PM
  1. Back to top

    Podcast?

    Dec 4, 2007 9:56 AM by Joel Neely

    It would be really great if you could make interviews like this available as podcasts, for those of use whose best time to listen and think is the daily commute.

  2. Back to top

    Re: Podcast?

    Dec 4, 2007 10:45 AM by Victor Cosby

    I second Joel's request. The iPhone doesn't support Flash yet so it would be great to watch these via QuickTime.

  3. Back to top

    Strong words

    Dec 9, 2007 11:56 PM by Michael Neale

    Calling developers "negligent" for not trying the latest domain specific solution is indeed strong words from a book author/consultant. At least that was my take (admittedly I was doing other stuff while listening).

    On another note, why is this a video? Surely more people would "tune in" if it was an audio only podcast (not to mention bandwidth saving, potentially). In this case the video doesn't add much (although its nice to see people talk from time to time, so some videos are nice of course). Just a thought (I am sure its already in the pipeline).

  4. Back to top

    Re: Strong words

    Dec 9, 2007 11:57 PM by Michael Neale

    I should clarify its not "trying" - its "using" that he meant. (trying would of course be ideal, in fact all professional should try lots of things, lots of the time).

  5. Back to top

    Re: Strong words

    Dec 9, 2007 11:58 PM by Michael Neale

    I should clarify its not "trying" - its "using" that he meant. (trying would of course be ideal, in fact all professional should try lots of things, lots of the time).

  6. Back to top

    formats

    Dec 12, 2007 12:10 PM by Al Tenhundfeld

    On this topic of offering interviews in multiple formats, I wholeheartedly agree.

    Every interview should be available in the following formats:
    Text transcription
    Downloadable mp3
    Streaming video (when applicable)
    Podcast video

    If these options were present, I would probably watch/listen to/read 3x more interviews and visit the site more often.

  7. Back to top

    No Silver Bullets

    Dec 13, 2007 10:14 PM by Geoffrey Wiseman

    Some people feel so strongly about Rails, it's nice to see someone suggesting that neither Rails nor the alternatives is the one and only solution: that developers should choose the technology that suits the task.

Exclusive Content

Clojure

Rich Hickey discusses Clojure features and syntax, example code, functional programming, concurrency semantics, transactions, software transactional memory, agents, implementation and pain points.

Composite Oriented Programming with Qi4j

We introduce the concept of Composite Oriented Programming, and show how it avoids the issues with OOP and reignites the hope of being able to compose domain models with reusable pieces.

Dan Farino About MySpace’s Architecture

Dan Farino talks about the system architecture and the challenges faced when building a very large online community. Dan explains how a .NET product scales on hundreds of servers.

Principles and Practices of Lean-Agile Software Development

Alan Shalloway, CEO and founder of Net Objectives, presents the Lean software development principles and practices and how they can benefit to Agile practitioners.

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.