Adopting a Functional Paradigm With Jupyter Notebooks
By Valentin Mouret
In case you don’t know, a Jupyter Notebook is a webpage running along with some REPL (Read Eval Print Loop) — most often Python — where you can interact with the program and write a document as you go. It supports Markdown and LaTex-like mathematical annotations, which help to build good-looking documents. It’s a tool that’s widely used by data analysts, engineers, scientists, etc. and is popular because it makes development interactive. You can run some code, get immediate feedback, and turn it easily into a shareable document.
However, it’s hard to strike a balance between lightweight and organized code. Notebooks tend to be a place of chaos and random behavior, but don’t give up! It’s possible to do better.
Limits of Most Notebooks
From my experience with Notebooks, I found three main limits:
They are error-prone.
They are hard to follow.
Taking the code to production is “hell”.
1. They Are Error-Prone
Commonly, most of the variables and functions are kept in the main scope. Like the example below:
Want to contact us or subscribe to our newsletter?