[$] Jupyter: notebooks for education and collaboration
The popular interpreted language Python shares a mode of interactionwith many other languages, from Lisp to APL to Julia: the REPL (read-eval-print-loop) allows the user to experiment with and explore their code, while maintaining aworkspace of global variables and functions. This is in contrast withlanguages such as Fortran and C, which must be compiled and run as completeprograms (a mode of operation available to the REPL-enabled languages aswell). But using a REPL is a solitary task; one can write a program toshare based on their explorations, but the REPL session itself not easilyshareable. So REPLs have gotten more sophisticated over time, evolvinginto shareable notebooks, such as what IPython, and its more recentdescendant, Jupyter, have. Here we look at Jupyter: its history,notebooks, and how it enables better collaboration in languages well beyondits Python roots.