Yash Soni / April 24, 2020
2 min read
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.
Literate Programming is a programming paradigm introduced by Donald Knuth. He introduced this idea to consider programs to be works of literature.
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.
- Data scrience on what makes a wine taste good. Notebook Link
- Analysing my Fitbit data to unlock some hidden secrets. Notebook Link. Blog