Interview: Ryan Davis a.k.a. Zenspider

Ryan Davis, better known as "zenspider", is arguably one of the most influential people in the Ruby community. He's a leader of the Seattle.rb user group and author of powerful and amazing open-source tools such as RubyInline (for embedding C code in Ruby), and ZenTest (TDD ultra-accelerator.)

In this exclusive InfoQ interview, Ruby Editor Obie Fernandez talks to Ryan about his current projects and how he got into hacking Ruby. With his answers, Ryan gives us a glimpse into how he has been pushing the envelope of what's possible with the Ruby language and runtime since 2000, for instance:

What is the type of work that you were doing in those other languages that you felt you could do better in Ruby?I spent a lot of time writing code. I kind of bleed between regular software engineering and QA Development, QA tools development, so I write code that hurts code and I write code that hurts systems pretty naturally. At Amazon we were working on systems to make QA for non-programmers easier, web-site interaction, stuff like that; we were doing DSLs for web testing; we were doing that in a combination of Perl and Java. The engineering was ok, but it got to the point where we weren't able to scale it up anymore and it started to really hurt...

From those early beginnings you started getting involved in some pretty hardcore stuff. You mentioned you did dome DSL stuff. How did you transition over to doing more kind of framework development and then more pure computer science type of stuff in Ruby?I've always been a language bigot. Languages are a hobby of mine. I like writing little languages to describe problems and that's basically called DSL now. Language analysis for Ruby itself is actually something that I like to focus on so while we were working on a number of projects, they kept coming up that we needed to be able to analyze the language more, so we started working on a project called ParseTree. It allows us to extract the parser information from Ruby and make it digestible to regular Ruby programs.

"What is your perspective on static versus dynamic or non-static typing?"I am a dynamic languages proponent, thus far with languages I do have experience with. I have yet to go with languages like Haskell or Erlange, where there is static tying that they tend to get in the developers way with how they think. ...

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our industry email notices?

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.