Is there an outline somewhere of the differences between ordinary Mathematica syntax and "Wolfram Language"? I was a bit disappointed when I first discovered that it seemed so only resemble Mathematica, which is excellent for REPL style programming but pretty hopeless for large scale structured programming, much like Matlab.
Mathematica, Cloud and Alpha are three examples of products that use this language (not exclusively but extensively). I would qualify these as large scale products.
I've been testing Cloud since April, and although I don't think the environment is ready for production yet, the problems are more related to the UI and the backend than to the actual language and libraries.
I'm curious to know what you think makes Wolfram Language (which is the language used in the desktop program Mathematica) hopeless for large scale structured programming.
Opening up access to the wolfram language will let more science be possible using Mathematica and remain reproducible by non-Mathematica users. Must be a good thing.
Kind of confusing how they call anonymous functions "pure functions". Having function literals is great, but calling them pure functions is going to be frustrating for anyone coming from a background in FP.
This is the first time I've seen the symbolic manipulation explained. It's kind of like pattern-matching taken up to 11. Can anybody give some practical examples? For instance, the docs mention here that it's used in lieu of a types system.
Here's a couple elementary examples that are useful:
f[x_Integer]:=x^2
Basically the pattern for the argument of f must match the pattern _Integer, which means that the argument is an integer. If the pattern does not match, then it stays in an unevaluated form; you could have it throw an error by having an extra pattern f[_]:=Assert[False] or whatever.