When we usually write any computer program, we generally have this mindset of instructing a computer what we want it to do. But computer programms/code is not meant to be in closed private files. We want others to learn from it or contribute to it. The ways to make others understand what we really intended the program to do is usually by comments or readme docs.
Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
The practitioner of literate programming can be regarded as an essayist, who treats a program as literature understandable to human beings, prioritizing the programmer’s own thought process.
So we undersood the concepts of Literate Programming. But, how do we practice it now?
Enter Literate Computing environments.
A literate computing environment is a platform for literate programming. It allows users to create content, provide code, and execute/modify the program to experiment with output — all in one interface, saved to one file.
Getting your hands dirty#
If you are comfortable in python, you can try your hands at Jupyter notebooks. Head over to this link to test it in your browser.
Google has its own version of python notebooks in form of Colaboratory.
I have my own share of experiments with Jupyter notebooks.