Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

We should really thank Mathematica for the notebook format.


Mathematica's notebook definitely strongly inspired Colab's notebook. Colab is an implementation of the Jupyter notebook format and UI. Jupyter, which launched around 2011, itself was strongly inspired by (1) the IPython console from around 2003, and (2) the Sage Notebook which I launched around 2006.

I can tell you definitively that Sage Notebook is very Mathematica inspired. The IPython console looked a lot like Mathematica, mainly because Fernando Perez (who was a physicist) had used Mathematica a lot and wanted something similar but (much) better. In 2005 there was a project to make an IPython notebook interface as an OS X graphical application, which got demoed at Sage Day 1 (in Feb 2006). That motivated me to get interested in doing something similar, but using Javascript and HTML instead. I hired Alex Clemesha, who just finished his physics undergrad and was a heavy Mathematica user to work on Sage fulltime. He did a lot of work with me during 2006 to create a web-based notebook interface (and also to provide a mathematica-like graphics compatibility layer for Python, which is in Sage). The Sage notebook felt pretty similar in 2007 to what Jupyter notebook feels like, and it definitely inspired the UI. We developed Sage notebook heavily and then all sort of lost interest and moved on to other things (e.g., Jason Grout, who was involved a lot with the Sage notebook went to work at Bloomberg, where he did a massive amount of work on JupyterLab). Fortunately, Fernando Perez and others got incredible grant support and many fantastic engineers together built the Jupyter notebook. Jupyter notebook provided the same sort of cell/output UI as we had with the Sage notebook, but was much more general purpose (many kernels) and used more "modern" implementation techniques, by 2011 standards at least.

There's a lot of amazing things about the Mathematica notebook that we never even tried to implement. For example, Mathematica has a much more sophisticated nested structure. Also, by default Mathematica shares one kernel across multiple notebooks (or at least it did last time I tried it).

Just to finish the story, in 2013 I started CoCalc to make a fully realtime collaborative notebook interface. Around the same time, many other people started another project called JupyterLab that reimplemented a Jupyter notebook client using much more powerful modern approaches. In addition, there's a lot more going on regarding notebook clients these days, including Nteract, Kaggle kernels, and http://deepnote.com/. Some people like me who work on these surely played around a lot with Mathematica notebooks when they were kids :-).


Thank you for that write up! I too started with Mathematica in my early days. I can still play the start up chime in my head. Then I got into econometric softwares which led me to Julia and Jupyter from closely following Prof Sargent.


Did mathematica invent the notebook format? Just curious..


Yes, my understanding is that Theodore Gray invented the "computational notebook" for Mathematica in the 90s. Here is the best writeup of the history of the notebook that I've ever read. https://www.theatlantic.com/science/archive/2018/04/the-scie...


quick look at Wikipedia shows Mathematica: "Initial release June 23, 1988;"

Mathematica took at least a year or more to write.. so that goes back perhaps to 1986.. 90s is way off...


Looks like a yes according to this page at least: https://en.wikipedia.org/wiki/Notebook_interface


MathCAD had a WYSIWYG notebook in the same time frame, late 80s, but I have no idea which of them was first with it. It's possible that it was neither.


Mathematica certainly pushed the Notebook format as a fundamental feature, with WYSIWIG math that no one else had ..."Invented" is pretty hard to say honestly, but the popularization and technical polish, absolutely yes


It really makes more sense for actual math than Python deep learning. There isn't a lot of visualization and fancy symbols involved. The fascination with Jupyter notebooks is something I never got. You can't debug or make sense of the control flow like you can in a regular editor. Maybe it's a deep academia thing from all the researchers in this space.


It was in the middle of using Jupiter for something that Steve Jobs’s “bicycle for the mind” quote started to really make sense for me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: