#+title: Literate Programming In literate programming the goal is to write your program as you would write a book. Or to see it another way, you write the documentation first, and then the implementation in it. Or another way, you make your documentation executable. It lets us focus on the /why/ of the code before the what. The idea is that you don't write code with documentation sprinkled throughout, but instead you write documentation with code sprinkled throughout. Writing software becomes like writing a book. The documentation comes first, and code comes after. Here is a video that talks about what literate programming is: #+begin_center #+begin_export html #+end_export #+end_center Some example projects that do this: - The books “Implementing Elliptic Curve Cryptography” and “Lisp in Small Pieces” are supposed to have been written as literate programs.