A couple of articles looking at the way we program.
Coding from Scratch [via email from Matt Jones], in which Jaron Lanier makes the good point that programming languages can't handle variance, and if nature worked like this there'd be trouble. A scale problem: a single byte difference can have enormous consequences. The reason for this, he says, is that language design follows the metaphor of the telegraph. Passing variables to a subroutine is imitating the wire. And so he talks about phenotropic, pattern-recognition, computing as an alternative paradigm. Emit and collect?
They Write the Right Stuff [via ext|circ] is about how to write bug-free software in the current paradigm, in this case for the space shuttle. 420,000 lines of code with one error. The commercial equivalent bug rate would lead to 5,000 errors. How do they do it? Detailed design, many levels of testing and proofreading, and a culture unlike the commercial world: no pulling all-nighters, no sending out for pizza.