Hansson merged Rails and Merb last year, and, despite initial “squabbles,” the fruits of their cooperation—Rails 3—is on the verge of release.
Question: Last year, you merged the Rails and Merb teams. What has that process been like?
David Heinemeier Hansson: So, I think the merge of the Rails and Merb teams have gone exceedingly well considering what led up to that. What lead up to that was a fair amount of petty and fighting, to be honest. Potshots at crossbow from one camp to another, and it was just bad. And it was useless. What we're here for is moving, sort of, in some ways, the state of the art forward. Why waste time on these petty concerns?
So, I think after the merge we realized that most of those petty squabbles were really just that; they weren't deep philosophical differences. We actually wanted the same things. We were perhaps speaking slightly different languages to each other, and misunderstandings and all the other stuff that goes on when you have sort of two camps working against roughly the same goal... But what we realized was that once it got down to the code, once it got down to the decisions that were really concrete about “How should this work?”—we were in agreement. There was no big philosophical battles back and forth. Once it got down to code we just all magically agreed.
I think that that has worked really well, and I'm incredibly proud of the product that's coming out of that, which is Rails 3, which we're just on the verge of releasing. It's been sort of a long walk to get there, but that's fine. Rails 2, as it is today, works great. There is no immediate rush to get to Rails 3, and now that we're almost here it seems... yeah, it was worth the wait.
Question: When will Rails 3 come out?
David Heinemeier Hansson: Sure. So, we're incredibly close to releasing the final version of Rails 3. Actually, right now we have sort of an internal target that's this week for the release candidate, and then however long it takes after that to get the final version out. But there's already plenty of people who are using Rails 3 in production. At 37signals we have at least a handful of applications that are already running the development version of Rails 3, so we're essentially there. We're dotting the i's and crossing the t's and just making sure that everything is really nice exactly because there is not that... there's not an external push or rush on us. There's no trade show that we have to make, there's no big revenue coming in when we actually release it. It's just mostly for pleasing ourselves, so it just has to be good, and we'll wait until it is, but it looks like we're finally there.
Question: What’s your take on Microsoft’s web platform versus Rails?
David Heinemeier Hansson: So, it's actually been a very long time since I've played around with Microsoft's web offerings myself. I did some ASP back in the late 90's, and then I've been sort of paying attention to C-Sharp and what my fellow Danish countrymen, Annis, Heims, and Burke, have been doing over at Microsoft, and there's definitely some good stuff from their perspective. From that perspective of developing a programming language, and a framework, and the tooling, it's pretty good. It just happens to be that I don't share that perspective.
I don't believe that programming languages need to rely on heavy tooling in the sense that Microsoft does with Visual Studio. I believe that program languages and frameworks should be incredibly pleasurable to write if you have nothing but a text editor. To me it's sort of a crutch when you have to rely on tooling on top. It reveals to me that the underlying language and platform is not succinct enough, it's not expressive enough. So there's just a difference of philosophy there. There's pros and cons, though. There's absolutely pros to the heavy IDE, Visual Studio, assistance, and completion, and all that stuff. It's not that either is completely bad, and the other is completely good. It's just that I enjoy much more that simple, closer to the metal so to speak, approach that we've been taking with Ruby in Raills.
So, it's also funny, though, to see them take inspiration. They've launched an NBC framework for their platform that is heavily inspired—let's say that—from a lot of the ideas that we've had fun with in the Rails camp, and that's great to see. It's great that we can all share ideas. We're all standing on the shoulders of giants, and ideas should move around. I don't think it's anywhere close, still don't. I mean, they've borrowed some good ideas, and that's great, but we still have an incredibly different approach to things. So, if you like the Rails approach to things, I don't think you're gonna be satisfied with the Microsoft expression of that, but that's fine. We don't all have to be the same. Not all programming languages have to be constructed the same. In fact, it would be boring if they were. So the world is a pretty big place. There's plenty of room for many approaches.
Recorded July 22, 2010
Interviewed by Peter Hopkins