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.
I find the idea of "testing" funny in that it admits we are going to fail before we even try. It's like going into a game and saying "Ok, we aren't going to win, but let's make sure our score is at least 80% of the final score".<p>I am no way saying that we shouldn't test (though I'm more of an advocate of TDD/BDD).
I guess this philosophy is why so many "web 2.0" companies make terrible iPhone apps. If testing and QA is responding to users experiencing bugs, then you will fail at making good packaged software.