Notes for chapter 5: "Taming complexity"

Errors in scientific software

A few recent articles have pointed out or illustrated the problem of errors in scientific software:

Formal verification of software

The first part of a lecture by Benjamin Pierce (47 mn) gives a good overview of how specifications are used today in real-life software development. The second part is about a specification for the Dropbox synchronization service.

Managing state

A short and pragmatic discussion of why functional programming matters for dealing with program complexity is given in a blog post by Krys Jenkins.