We write code to be read as well as written

    Literate programming enhances communication, reduces bugs, flattens the learning curve, and gives the programmer greater satisfaction in his or her work.