Someone has convinced the US government to fund the development of a set of four easy-to-use open source tools. One of the tools is "a unit and regression testing harness with the functionality of XUnit, TclExpect, and DejaGnu." The early design portion of the project is being run as a competition. I'm one of the judges. * http://www.software-carpentry.com/contest-rules.html Perhaps inevitably, this has led to furor on Slashdot. See * http://slashdot.org/article.pl?sid=00/01/16/071208) People are seeing it as divisive (as well as an insidious plot to promote Python, because Python is to be used where feasible.) Here's my response to all that: *''I'm a judge of the testing tool, which I hope doesn't cause as much excitement as make. For the record, I think JUnit, expect, and dejaGNU are all wonderful things. I agreed to be a judge not out of any disrespect to their authors. To me, KentBeck / ErichGamma in particular are way up there in the pantheon. JUnit, ExtremeProgramming, and all that are the most exciting things to have happened to testing in quite a while.'' *''If someone comes up with a better extension or replacement, the testing world will be better off. If not, it will get ignored, with little or no harm done.'' Note that the contest rules '''absolutely''' permit submissions that build on top of the JUnit/XUnit design. Gratuitous reinvention is not the idea. -- BrianMarick ''What happened to this? Any news?'' The award was supposed to have been made in 2000. ---- '''SoftwareCarpentry as an approach''' Index * http://www.software-carpentry.com/index.html OpenSource SoftwareEngineering * White Paper ** http://www.software-carpentry.com/white-paper.html * Lectures ** http://www.swc.scipy.org/ * Extracted from Lecture Summary: ** The Rules of the Carpenter: *** Discipline matters more than genius; reality matters more than rulebooks. *** A week of hard work can sometimes save you an hour of thought. *** Anything repeated in two or more places will eventually be wrong in at least one. *** Anything worth repeating is worth automating. *** Code unto others as you would have others code unto you. *** Every complex file format eventually turns into a badly-designed programming language. *** It's not what you know, it's what you can. *** Never debug standing up. *** Not everything worth doing is worth doing well. *** Programs come and go; data is forever. *** The deadline isn't when you're supposed to finish; the deadline is when it starts to be late. *** The three chief virtues of a programmer are laziness, impatience, and hubris. *** There's no such thing as one program. *** They call it computer science because it's experimental. *** Tools are amplifiers: they allow good programmers to be better, and bad ones to be worse. *** Tools are signposts, not destinations. ---- Archive of comments on the concept SoftwareCarpentry: * http://pyre.third-bit.com/blog/archives/category/software-carpentry/ ----