|
|
|
|
|
by tombert
1666 days ago
|
|
I haven't done a ton with Mathematica, but my understanding is that it allows for more powerful and abstract programming than something like Jupyter. Am I wrong? I would think that Wolfram isn't trying to compete in the data science space, but more in the more abstract academic space. |
|
Jupyter creator said (IIRC) that he was in fact inspired by Mathematica's interface, but it's not like Lisp, Smalltalk and APL weren't doing this at least a decade before.
Aside from this superficial similarity, Mathematica the language is a whole different... language. Imperative contructs are awkward to use and frowned upon, symbolic computation over expression trees is the default and very common, loops and with their exit conditons are expressed as either map-reduce style functions or recursive relations with multiple definitions. All code is literally just a tree of symbols that you can inspect and manipulate, you can enter "NonsenseFunction[1,2,3,4,5]+12" and the interpreter would just give it back to you unchanged, the execution model is simply implementing a rule-rewriting engine, if it can't find a rule to simplify an expression it simply returns the thing as is. This is very different from python or really any mainstream language, it's a fun mixture of Lisp and Prolog.