4 ms·
To add to his accomplishments, Sage was a pioneer of the web-based client/server notebook model now popular in Jupyter. I'm not sure if Sage was THE first insta
by paulgb 8y ago
To add to his accomplishments, Sage was a pioneer of the web-based client/server notebook model now popular in Jupyter. I'm not sure if Sage was THE first instance of this, but certainly one of the first.
- orbifold 8y agoWell to be fair Mathematica had a client server notebook architecture since early on. Today it also supports a web fronted besides the now (QT based?) native client. The native client is way more powerful and performant than anything that Jupyter offers and can be extended in the client Language itself. IPython/Jupyter is a more or less direct copy of Mathematica's interaction pattern but as is often the case a poor imitation in many regards. As a comparison https://observablehq.com https://observablehq.com seems like a genuine novel take on the notebook pattern and is unsurprisingly a commercial effort with some open source components.
- williamstein 8y agoThanks! You're referring to the Sage notebook, and the key feature is that it is web-based with some collaboration support. I believe it was the first instance of this at the level of sophistication that it attained, which was significant given the web development tools available a decade ago. I started sagenb in 2006 after seeing a demo of a local OS X frontend for IPython. I did a huge amount of work on it, but there were also many students who did too (e.g., a 16-year old in the Philippines named Tim Dumol). The Sage notebook (and IPython) was very much inspired by Mathematica, Macsyma, and Emacs. Jupyter notebook was written a few years later, and has a more modern architecture (it used websockets). Jupyter has a much newer client called JupyterLab, which uses more modern Javascript tooling, including Typescript, WebPack, Phosphor, and so on. I've been working hard to make CoCalc fully support the Jupyter ecosystem, since I love the momentum behind it and how inclusive the community is. In particular, I wrote a new Jupyter client that supports realtime collaboration.