Publication Details
Download |
Thomas Weber, Janina Ehe, Sven Mayer
Extending Jupyter with Multi-Paradigm Editors Proceedings of the ACM on Human-Computer Interaction, Volume 8, Issue EICS, Article No.: 245, pp 1-22 https://doi.org/10.1145/3660247 (bib) |
Computational notebooks like the Jupyter programming environment have been popular, particularly for developing data-driven applications. One of its main benefits is that it easily supports different programming languages with exchangeable kernels. Thus, it makes the user interface of computational notebooks broadly accessible. While their literate programming paradigm has advantages, we can use this infrastructure to make other paradigms similarly easily and broadly accessible to developers. In our work, we demonstrate how the Jupyter infrastructure can be utilized with different interfaces for different programming paradigms, enabling even greater flexibility for programmers and making it easier for them to adopt different paradigms when they are most suitable. We present a prototype that adds graphical programming and a multi-paradigm editor on top of the Jupyter system. The multi-paradigm editor seamlessly combines the added graphical programming with the familiar notebook interface side-by-side, which can further help developers switch between programming paradigms when desired. A subsequent user evaluation demonstrates the benefits not only of alternate interfaces and paradigms but also of the flexibility of seamlessly switching between them. Finally, we discuss some of the challenges in implementing these systems and how these can enhance the software development process in the future. |