Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Interview: Yehuda Katz Explains Merb

Interview: Yehuda Katz Explains Merb


In this interview filmed at RubyFringe, Yehuda Katz talks about web framework Merb.

Merb follows a few design principles that distinguish it from Ruby on Rails. As Yehuda explains, Merb aims to provide a stable public API which can be used, and which is warded off from the actual Merb implementation. With that, 3rd party plugin providers don't have to worry about some change in the Merb implementation breaking their code. Hand in hand with this is a strict documentation for Merb code. Merb uses documentation conventions to describe the contract of a method, ie. the expected argument types and return types. As Yehuda mentions, the conventions resembled the one of the Ruby documentation tool Yard.

Other topics are the perils of Rails' Module#alias_method_chain (and why Merb won't use it) and how the Merb team handles Monkey Patching (Open Classes).

Watch "Yehuda Katz Explains Merb".

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Great talk

    by Kent Fenwick,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for this talk Yehuda,

    I have been thinking about giving Merb 1.0 a go again and after hearing your views on Alias Method Chain, I think I am on board!

    Great job.


  • Nice talk, also check out rubyconf's talk

    by diego scataglini,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    People that found this talk interesting might also want to check out this talk form rubyconf 2008

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p