InfoQ

Interview

Jim Weirich Discusses Rake, the Ruby Make Tool

Interview with Jim Weirich by Werner Schuster on Apr 17, 2008 03:12 AM

Community
Ruby
Topics
Domain Specific Languages,
Build systems
Tags
Rake,
Mocks
Summary
Jim Weirich, is the Chief Scientist for EdgeCase LLC and thecreator of rake, the popular make-like build tool written in Ruby. In this interview with InfoQ, Jim disccusses the birth of rake, Domain Specific Languages, and flexmock, his mocking library.

Bio
Jim Weirich is the Chief Scientist for EdgeCase LLC, and is the creator of rake, the popular make-like build tool written in Ruby. Jim is very active in the Ruby community, presenting at many conferences and contributing to open source projects such as RubyGems. Jim blogs at http://onestepback.
We are here at RubyConf 2007, we are here with Jim Weirich. Jim why don't we start out with maybe can you introduce yourself, of course you are very popular but still for some watchers who don't know you.
That's good. And you have added a lot to the Ruby community with your Rake tool. Could you thoroughly explain what Rake does?
Rake has become pretty standard in the Ruby community now.
Was it the first big use?
So it has become quite important, so important that it is actually considered for inclusion in Ruby 1.9. Can you describe what kind of process you are going through with that, if you have to do any changes for it?
Which version is Rake now at?
So is Rake 1.0 going to coincide with the inclusion in Ruby 1.9?
What can we look forward in Rake 1.0, what new features?
Any other big features in 1.0?
Rake is one of the big examples for one of the strengths for Ruby, building Domain Specific Languages. It has been quoted and used by Martin Fowler as a big example for embedded Domain Specific Languages. Domain Specific Languages hype has been going on for some years. What's your point, what's your view on that?
So basically you are thinking that the domain is something that a user or business user should see?
It's just a specific language.
This is the first occurrence of this term? PSL?
So what would be a cut of point where, you said you had to have a range?
You also provided the Builder library, first of all would you consider the Builder library to be a DSL or?
Would it be better to call it meta-programming, use the term meta-programming for that? Or is that specific in another way?
Talking about Builder, for Builder you faced some problems with using method, method missing. What was the solution to that?
So which objects, which methods still remain in the blank slate objects?
Talking about your projects, you mentioned Flexmock. What's Flexmock?
What would be a quick explanation of the mocking concept? What does Flexmock provide?
So mocking is one of the concepts that is used in Test Driven Development or maybe Behavior Driven Development, is that it?
Can you say anything about BDD, Behavior Driven Development, another acronym? What's the crucial difference?
Did you use TDD and BDD simultaneously? Do you use Test Unit and RSpec or you just use Rspec?
You used both of them at the same project?
So BDD removes the word test so people don't confuse it with functional testing?
So to wrap this up, you also published a library for the X10 system?
What is X10 just to explain?
And your library did what exactly?
And I understand that, as a good TDD person, you used that for automation?
It's very useful to annoy developers to fix their code.
Really?
show all  show all

No comments

Reply

Exclusive Content

Measuring Agile in the Enterprise: 5 Success Factors for Large-Scale Agile Adoption

Michael Mah analyzes the development process in 5 companies: 2 Agile (one of them BMC) and 3 classic. He presents the factors which contributed to the success of BMC's Agile adoption.

Tom Preston-Werner on Powerset, GitHub, Ruby and Erlang

In this interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.

David Laribee on Alt.NET and its Mission

David Laribee discusses the purpose of ALT.NET, its mission and future.

Discover RailsKits and Stop Writing Redundant Code

Ruby on Rails has become a popular Ruby framework for creating web applications in recent years. An aspect of creating a web application is the need to repeatedly create the same base functionality.

A Formal Performance Tuning Methodology: Wait-Based Tuning

Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning.

Shaw and Fowler About Forging a New Alliance

Shaw and Fowler talk about the need for a new relationship between the business department and the IT department. Studies have shown that projects mostly fail due to miscommunication between the two.

How to GET a Cup of Coffee

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application.

Archaeopteryx: A Ruby MIDI Generator

Eccentric artist turned overnight anti-celebrity, Giles Bowkett captures the heart and soul of RubyFringe as he demonstrates his revolutionary Archaeopteryx MIDI drum pattern generator.