Probative Programming: Toward the Physical Unification of Code and Tests
David Black, Founder, Ruby Power and Light
Date & Time/Location: 3-27-09, 1:45pm-2:45pm, Salon B
In spite of the tremendous and greatly impressive work done in the area of testing and the development of testing frameworks, especially for dynamic languages, an odd sort of oil-and-water relationship persists between production code and tests.

The reason such a division persists is, I suggest, because it can: it is physically possible to write untested code, and therefore untested code gets written. Pounding people over the head with the importance of testing can help locally and in the short term, but really isn't to the point -- the technical point, that is.

Taking its cue from Knuth's Literate Programming system, this talk will explore the possibility of a kind of programming in which the testing process cannot be sidestepped because the production code will only be generated -- literally, will only come into being -- as a result of the passage of tests embedded together with the code in a single master document. How (or indeed whether) this concept will play out remains to be seen. The goal of the presentation will be to map out the issues and look at possible ways of addressing them.