A Conversation with David Heinemeier Hansson
DDJ: In Beyond Java, Bruce Tate argues that the Java platform is getting in the way of programmer productivity, compelling programmers to look for an alternative, perhaps Ruby and Ruby on Rails. What do you think of his assessment of the Java platform today?
DHH: Bruce is spot on. Java has had a great run for the last 10 years. There's plenty to be proud of over that stretch. And Java will be around for a very long time to come. But I don't believe there's room at the top of the hill anymore. Its patronizing roots and the complexities needed to cope with those have grown stale. A wonderful world of possibilities is opened when you replace "you can't" with "you shouldn't (unless)." One where use cases and practices can emerge and grow beyond the limited set of possible uses a supposedly omniscient language designer could predict back in the early '90s.
DDJ: What's to stop Ruby on Rails from evolving into what Java/J2EE has become?
DHH: Determination. Unlike commercial entities, we're not at the mercy of the next big deal. We're not looking to create a framework that's capable of solving the 5 percent hardest problems in the world. That's our sweet spot: catering to the mass of applications where a common set of conventions can be widely applicable. Where most people can need and desire the same thing for most of the work. So we're very conscious about the fact that Rails will never solve 100 percent of anyone's problems. If we can just get the 80 percent streamlined, you'll have more than enough time left over to make a truly great application by being unique in the last 20 percent.
DDJ: Is there a danger of people applying RoR to tasks for which it is not suited, and growing the platform in unhelpful, distracting directions?
DHH: You're free to take Ruby on Rails in whatever direction you please for your own project. It's open and free software. Just don't expect that we'll accept your contributions in the core automatically. We're turning down patches and ideas for the core of Rails all the time. So I don't fear this distraction too much. DDJ |