4 ms·
The documentation is actually quite good and available freely online: http://reference.wolfram.com/language/ http://reference.wolfram.com/language/ In particul
by brandonbloom 11y ago
The documentation is actually quite good and available freely online: http://reference.wolfram.com/language/ http://reference.wolfram.com/language/
In particular, I suggest reading about the evaluation procedure: http://reference.wolfram.com/language/tutorial/EvaluationOfExpressionsOverview.html http://reference.wolfram.com/language/tutorial/EvaluationOfE...
In short, it's a term-rewriting language with a particularly complex (although carefully crafted) rewrite strategy. Rewriting and evaluation strategies have a rich base of history and literature to read up on too.
But really, the best way to get the flavor of Mathematica is to play with it. I recommend downloading a free trial, since the desktop application is much more responsive and interactive than the online version.
It's pretty fun and, once you get the hang of it, surprisingly useful. And I mean that both ways: 1) It's surprising how useful it is and 2) It's often surprising when it's useful. It was a pleasant surprise when I discovered how useful it can be and it's always pleasant when I'm surprised by an opportunity to use it.
- avodonosov 11y agoThanks for the reference. The language tutorial seems readable, indeed. But it requires more time than 1 hour to study. Maybe I fill find time some day to read it. If would be nice if during presentation the explained at least one feature which is absent in other languages and makes it possible to build models more compact yet more widely applicable than other languages allow. Just one language feature, but understandable for programmers. Because the hocus-pocuses with selecting something from internet and printing on screen doesn't help to understand. Or even better: demostrate some impressive real world application (other than Mathematica itself)
- brandonbloom 11y agoIt's hard to point to a particular "language feature" because all the differences stem from the differing evaluation strategy. Any given feature on its own may be interesting, but you can always come up with some alternative approach/representation/encoding/whatever in $YOUR_FAVORITE_LANGUAGE to diminish the feature's value. You really do need to understand term rewriting to understand the language. There are, however, lots of interesting things that most other languages don't have. For example, extremely powerful pattern matching: https://reference.wolfram.com/language/guide/Patterns.html https://reference.wolfram.com/language/guide/Patterns.html And a form of predicate dispatch: https://reference.wolfram.com/language/tutorial/TheOrderingOfDefinitions.html https://reference.wolfram.com/language/tutorial/TheOrderingO... Or a universal data representation: http://reference.wolfram.com/language/ref/FullForm.html http://reference.wolfram.com/language/ref/FullForm.html Or the ability to extend the syntax by adding to a 2D operator precedence parser's dispatch tables: http://reference.wolfram.com/language/Notation/tutorial/NotationSymbolizeAndInfixNotation.html http://reference.wolfram.com/language/Notation/tutorial/Nota... This is all to say nothing of the standard library, but beyond evaluation strategy, what parts are "library" and what parts are "language" is so blurry as to be practically meaningless.
- avodonosov 11y agoOk, thanks. I am studying logic now, so I think I am starting to understand things related to term-rewriting. Maybe will look at Wolfram Language some day. Do you know interesting programs/systems developed with WL?
- brandonbloom 11y agoI'm sure there are some, but think of its use cases to be more like Excel than like a typical programming environment. Most interesting Mathematica "Notebooks" are only ever used by a single person.
- taliesinb 11y agoGlad to hear you're getting something out of it! Could I ask what you ended up using it for?
- brandonbloom 11y agoI think I already told you when we met at strange loop, Kovas introduced us. :-) Was going to type up something here for onlookers, but on mobile at the moment.
- taliesinb 11y agoI had a feeling you might have already told me :). Sorry.