Reasons for using Jupyter

This year, the project Jupyter became the laureate of the ACM Software System Award, which honors software of a lasting influence (previous laureates : the web, Unix, Java, LLVM, GCC, …). This influence was mostly felt in data science, where it became a new standard for prototyping and sharing code.

At its heart, Jupyter is a REPL : Read-Eval-Print Loop (other REPLs would be irb, the Python prompt or using SQLite in the terminal).

You input a command, the program interprets it, prints the result and asks for the next input. Nothing revolutionary, but Jupyter has two big advantages over the other REPLs:

To operate, Jupyter is divided in a few components :

If you wish to play with Jupyter, Google offers a cloud version, named Collaboratory (so there is nothing to install on your end).

To conclude, Jupyter can be very efficient for two different use cases :

However, one must be vigilant about the limits of Jupyter. For example, when writing a significant amount of code, the traditional tools are definitely more suitable., Its use also requires a certain rigor: as it is easy to go back on code already executed, it can transform the notebook into a document where inputs are no longer in the right order and outputs no longer correspond to the associated input.