Was this really necessary? Why are all of these debates Black vs White? I'm less inclined to try the 0MQ library now that I know one of the maintainers doesn't care about the correctness of the library as a whole (yes that's hyberbole).<p>I love how the OP negates his <i>entire</i> argument at the end by saying that you need to have "... test-driven development increasing as the product matures;..."<p>So what is it? Is testing considered evil? Is TDD considered evil? Make up your mind.<p>FYI: TDD is a design tool. Yes, the OP is right in that at the beginning you're at the point of most ignorance. TDD is a tool to help you learn and figure out your design. Is it right for all circumstances? Probably not, prototyping is a big one here too, but once you figure something out prototyping, THROW IT AWAY, and do the TDD on what you learned, you'll probably figure more details out that way.<p>Addendum: Step 4 of <a href="http://unprotocols.org/blog:13" rel="nofollow">http://unprotocols.org/blog:13</a> is writing a test case, before any API code is written.