Hacker News new | ask | show | jobs
by adamgordonbell 849 days ago
So, story time. I once interviewed Stephen Wolfram for IEEE's software engineering radio and I had a lot of fun doing it and he did to.

We ended up running way overtime because he was having fun showing me things with Mathematica. He is a fascinating person, I successfully kept him off talking about his math / physics theories and on the idea of a programming language leading to better thinking and more break-throughs.

I left the discussion pretty impressed by him and he did in the discussion have some vague worries that he maybe got so focused on the idea of a notation for science in Mathematica that he neglected the actual work that sent him on this path. But he wasn't sure that the notation wasn't more valuable itself.

Notebooks, like Jupter, clearly came from his work and the other thing that hasn't reached mainstream he seems to have invented is having data sort of embedded in the programming language, in standard libraries, where it's easy to get the number of calories in the moon if it were made of cheese or whatever.

5 comments

> 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

I get that it's not exactly what we consider notebooks now, but Knuth was writing about literate programming several years before MathCAD.
I'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.

Yeah, 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.
Knuth 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.
Knuth'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.
>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?

No, Knuth's cweb has the notion of chunks, which is just lines of code. It wires the chunk in dependency order. A chunk can have multiple functions, or no functions, or parts of functions; cweb doesn't care.
Part 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.
Ah, I did not know that. My bad. Maybe he was more of a popularizer of the approach then?
Even 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

I'd guess MathCAD was quite a bit more popular than Mathematica in the nineties, given Mathematica was something like ten times as expensive.
I certainly won't blame anyone for saying that, given that it's repeated so often that it's turning into common knowledge.

  > having data sort of embedded in the programming language, in standard libraries, where it's easy to get the number of calories in the moon if it were made of cheese or whatever. 
If you like this sort of thing check out Frink. https://frinklang.org/

I predict that within 100 years, computers will be twice as powerful, ten thousand times larger, and so expensive that only the five richest kings of Europe will own them. -- Professor John Frink

The units file itself is a worthy read just for the commentary.

https://frinklang.org/frinkdata/units.txt

Ha! That's marvelous. The rants on `mol`, `hertz` and `candela` are astonishing. Well worth the price.

  // WARNING:  Use of "Hz" will cause communication problems, errors, and make
  // one party or another look insane in the eyes of the other.
  //
  // In other words, if you use the Hz in the way it's currently defined by the 
  // SI, as equivalent to 1 radian/s, you can point to the SI definitions and
  // prove that you follow their definitions precisely.  And your physics 
  // teacher will *still* fail you and your clients will think you're completely
  // incompetent because 1 Hz = 2 pi radians/s.  And it has for centuries.
  // You are both simultaneously both right and both wrong.  
  // You cannot win.
  // You are perfectly right.  You are perfectly wrong.  You look dumb and
  // unreasonable.  The person arguing the opposite looks dumb and unreasonable.
  //
  // Hz == YOU CANNOT WIN
  //
  // (Insert "IT'S A TRAP" image here.)
Is there any notion of integrating Frink as a library in other languages?
I'm surprised Stephen didn't claim he invented saving files. I used Macsyma before Wolfram and we had front ends that had worksheets. He definitely wasn't the first.
Agree with most everything, your description resonates (also a since 1988 mathematica person).

Theo Gray is who came up with the notebook, that iPython -> Jupyter were a multilanguage shout-out to, and they cite such. Other UIUC professors wrote significant parts of Mathematica originally, were paid for such.

https://en.wikipedia.org/wiki/Theodore_Gray

Notation, or semantics?

Mathematica has no notation, and that's the worst thing about it.

Mathematics has M-Expressions, like S-Expressions, which are extremely powerfully and human-like for reasoning in multiple logical (not geometric) dimensions (using Lisp-style macro expansion)

It's been a long time since the discussion, but I think he was getting at the whorf hypothesis. If you could express certain ideas easily it would enable thinking about certain things more deeply and intelligently.
Not only that, but the intonation also changes people’s personalities. Notice how there are round calming words and sharper ones, like the ohm in mantras give an o sound and a word like stab has a sharper intonation.

If sapolsky believes the Sapir whorf hypothesis I do too.