Free-Form Linguistic Input In Mathematica 8
vbraga writes "With the release of Mathematica 8, it now allows input through free-form English instead of the Mathematica syntax, just like the Wolfram|Alpha engine. The results are impressive. From the blog post: 'I routinely found myself using free-form linguistics as an integral part of longer computations — randomly interspersing Mathematica syntax and free-form linguistics on different lines in a Mathematica session, and just using whichever was most convenient for a particular input. And here's an exciting part: in Mathematica 8 the free-form linguistics doesn't just operate line-by-line. It knows the context in which it's used in a notebook, so you can use it to build things up.'"
Judging from the article, this amounts to some fairly rich integration with Wolfram Alpha.
Now why would it make sense to, in essence, turn Mathematica into a partially cloud-based application? Could it be because of all the millions of college students around the world who have pirate copies? Surely not!
There is an inherent problem with free-form linguistic input to computer systems.
If it doesn't have near-perfect comprehension of a wide range of topics, it's
frustrating as hell. It's like talking to a person that is mostly there, but has
brain lesions that wiped out part of their memory or frontal lobe, making them
oblivious to some common concepts and ways of speaking.
It's directly analogous to the "uncanny gulf" between a near-perfect computer-graphics person
and a real person. It freaks the hell out of people.
I'm not saying that natural language interfaces are always going to be a bad idea, but
the system underneath needs true comprehension of the world and the motives of speakers,
and of many ways of expressing the same thing. The bar is very, very high.
Where are we going and why are we in a handbasket?
I've actually found myself always needing to look up the exact syntax for Alpha, sometimes for even what I would think common tasks are, "solve for", "graph f and g", etc, because Alpha rarely seems to accept my "freeform" input.
This headline and "article" is another effing Slashdot sponsored advertisement.
WWJD -- What Would Jimi Do?
(Smash amp, burn guitar, take home the groupies)
I could not yet try Mathematica 8 out, but I hope one will be able to turn the feature on and off. A switch like in "perl -w" should be built in. Mathematica is first of all also a programming language, especially for Mathematics and colloquial language is not precise. It could be be frustrating if wrong syntax still produces reasonable results. Incorrect, but working code might become the standard if one does not notice. Its like with memory allocation errors in C produced by incorrect code which still compiles. It will haunt the programmer in the long term.
You could always learn the language, and excel at it. I've tried Maple, MATLAB, and Mathematica.
Maple was used primarily by undergrads to compute simple indefinite integrals and derivatives, and display them all "pretty" (insert MATLAB pun here) in a Tex-like format. Mathematica was almost on-par with MATLAB. Meanwhile, MATLAB seems to be the only math package used in all the physics and engineering labs I've visited, runs several orders of magnitude faster, and is excellent for algorithm testing. GNU Octave also mimics it decently enough.
The equivalent of code completion or syntax interpretation/correction is nice, but I've never had any use for it W.R.T. standard or built-in library functions. Maybe for learning a random third-party library, at most. Even them, being a Vi user, it takes just as much time to look up a function prototype in FVWM + Vi as it does to wait on MS Visual Studio's code completion.
This looks like a nice feature for new users, but I can see it being useful for new users or people for whom math is not a strong subject. Sadly, this seems to fill a void: people who can't do math, thinking they now can thanks to the "magic" of technology.The examples demonstrated in TFA are trivial (ie: grade 8 level). Can it, say, determine the conditional variance based on a series of PDFs?
It makes me really wish that I knew enough math for the program to have any use.
I once tried to apologize to the developers for pirating Mathematica. The just laughed at me and said that was impossible. :(