Literate Programming
Literate Programming
Python notebooks are so ubiquitous in the Machine learning community. All the cloud providers have dedicated services to run these notebooks: Jupyter on AWS, Jupyter on Azure, and Google Collab. These are popular largely because of how we can accommodate both code and instructional text in the same file. With each individual cell as an executable code block or a properly formatted markdown text, this makes it much easier to present information, document the information and make it a better educational material.
This style of programming interspersed with code and natural language is literate programming. It was first conceptualized by Donald Knuth. (Jupyter Notebook style of programming is a subset of the original concept).
Although Jupyter started out to support (Julia, Python and R -> which makes up the word Jupyter), there are a lot of jupyter kernels nowadays that allow us to make notebooks for other languages too.
One thing that I often like to do is find out the kernel for the language that I am using and keep a scratch book of sorts as a jupyter notebook. This works as a quick lookup and a refresher for me.
Here is one such case where I am using gophernotes as a go kernel for jupyter notebook.