18 comments

[ 814 ms ] story [ 305 ms ] thread
"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can." — Jamie Zawinski

I'm surprised that Wolfram took this long.

Hahah what a silly quote, damned if it isn't true though.
According to the Jargon File, jwz coined it "to express his belief that all truly useful programs experience pressure to evolve into toolkits and application platforms." From the little I know about Wolfram, it has been such a toolkit and platform for quite some time already. http://www.catb.org/jargon/html/Z/Zawinskis-Law.html
Ah the mythical wolfram language. I'm always interested in reading about it (and other languages that differ from my day to day), but apart from the wolfram search engine I rarely see it used for anything. Why is this? How does the language compare to C# or Lisp etc?
It is the language of Mathematica.

Wolfram just renamed it, because Mathematica is only his famous and well-selling product, while Wolfram is himself. :-)

(comment deleted)
Mostly used to cheat in higher level physics classes.
Really the Wolfram language itself isn't anything spectacular. It makes more sense to mathematicians than most programmers.

What really sets the Wolfram language apart is its gigantic library of functions. Want to look up stock quotes? easy. Weather? easy. Plus tons of other built in functions that would make a machine learning prediction of Coppertone suncreen's stock price based on weather forecast a couple of lines. In another language you'd have to set up the API queries yourself with a library, parse the returns with another library, and do the machine learning with another library. Then you'd have to cross your fingers and hope that an API or library update doesn't break your code. Wolfram promises easy access to clean data and much less heartache maintaining it.

At a basic level, this is also why I still drag my TI83 around. 99% of the functions I need in one little box that is always ready for action.
Sort of the exact opposite of why you drag your TI83 around, no? TI83 has all the basic building blocks you need to do some math.

Wolfram takes all the building blocks then adds an enormous amount of extra junk that's much less frequently tapped.

Basically it is how all modern languages would be if Lisp Machines haven't died.

Seeing anyone using Mathematica looks quite similar back in the day to the way Lisp Machines, Interlisp-D and also Smalltalk were being used, by those lucky enough to have access to such systems.

So in experience, it is quite close to Lisp, even if it uses another syntax.

Reading email sent by a human requires NLP features that I don't see in this example. Sure, headers have clear meanings and delimiters, but bodies are pure speech. Don't be fooled by the fact that they arrive as strings:

"Hey I saw you had a table for sale, I need one. I can give you like $30 for it and a puppy." <= in which the sender has sent mail to a list instead of a person and does not have a table for sale, even though it matches the regexp and provides a parseable price.

"The table is A QueeN Anne style repro abouT $0 years old, I think five hundred is a fair price but we can haggle." <= in which the seller holds down a shift key a little too early and the program will register a price of free rather than $500.

You've heard that it isn't a good idea to parse HTML with regexps? Natural human languages are worse.

it looks like a really complicated version of procmail.