No Title

Background

It seems obvious, but code is not only written for machines: it is written for people, too. Overlooking this fact can cause problems. Literate programming is an approach to programming in which the code is explained using natural language alongside the source code. This is distinct from related practices such as documentation or code comments; there, the code is primary, with commentary and explanation being secondary. In literate programming, however, explanation has equal billing with the code itself. A “notebook” environment is one genre of literate programming tools that is supported by many data-centric literate programming tools such as Jupyter Notebooks, Mathematica, Databricks, Apache Zeppelin, and Sage Notebooks.