4 ms·
> Notebooks, like Jupter, clearly came from his work While I often hear this claim from Wolfram and his supporters, I have never seen any evidence that it was
by bachmeier 3y ago
> Notebooks, like Jupter, clearly came from his work
While I often hear this claim from Wolfram and his supporters, I have never seen any evidence that it was his innovation. MathCAD was the first software released with a notebook interface, and there was research using those ideas prior to the release of the first Mathematica notebook. Maybe his particular take was an improvement on the others, but the claim that it was entirely his idea seems to me to be 100% incorrect.
https://en.wikipedia.org/wiki/Notebook_interface#History https://en.wikipedia.org/wiki/Notebook_interface#History
- adamgordonbell 3y agoAh, I did not know that. My bad. Maybe he was more of a popularizer of the approach then?
- martinky24 3y agoEven at Wolfram Research, Theodore Gray is credited with inventing/developting THEIR initial interpretation of the notebook interface. His Wikipedia page [1] makes that clear. 1: https://en.wikipedia.org/wiki/Theodore_Gray https://en.wikipedia.org/wiki/Theodore_Gray
- bachmeier 3y agoI certainly won't blame anyone for saying that, given that it's repeated so often that it's turning into common knowledge.
- justin66 3y agoI'd guess MathCAD was quite a bit more popular than Mathematica in the nineties, given Mathematica was something like ten times as expensive.
- duped 3y agoI get that it's not exactly what we consider notebooks now, but Knuth was writing about literate programming several years before MathCAD.
- bachmeier 3y agoYeah, if you want to search for ancestors, I think literate programming definitely qualifies. I've also heard references to Smalltalk and Lisp machines as ancestors, but not being familiar with either, I can't say.
- slowmovintarget 3y agoKnuth introduced the technique of literate programming in 1984, MathCAD was first released in 1986, and my copy of Literate Programming (the book of the thing) was published in 1992.
- bmitc 3y agoI've never understood what Knuth considered literate programming. I've seen some examples of his and find them incomprehensivle. I think the issue with Knuth's contribution is that he only seemed to concentrate on the specification of a markup language, marred by TeX baggage. The key idea of notebooks today are their interactiveness, the dynamic between a markup state and view state, and their multi-paradigm and multi-language nature.
- sriram_malhar 3y agoKnuth's literate programming notably differs from notebooks in that it was designed to write explanations meant for humans, which meant that the author could present the code in chunks in the narrative sequence; the code did not have to be in execution order, unlike notebooks.
- falcor84 3y ago>the code did not have to be in execution order I'm not clear on this. Is it not just about having the function definitions in an arbitrary order just like all of us mortals do? Is there anything special about the code structure that Knuth proposes?
- cafard 3y agoPart of the motivation might have been that he set up WEB for Pascal, which does enforce an order of declarations. Once he started working more with C, perhaps there was less reason; but he found that he enjoyed working in that manner. I haven't looked at anything released in that format for years, though.