## Mathematica 9

The new version of Mathematica is better - almost fun. I'm not certain I can chalk it up just the HoeffdingD function. Lovely function that one tho, actually fantastic, and I'm glad to have it*. Perhaps I've mellowed, I enjoy Mathematica a lot more than I did a just a while ago. I feel more like I'm collaborating with the program and less like I fight for it do my bidding.

Thinking about it a bit, my number one feature of Mathematica 9 that increases happiness must be the little spelling-function-variable reminder window - a thing that as a version 8 user three months ago I would of told you was worth $0 to me. In fact, I'm getting older, and there's that long healed ski concussion to consider. My old step-1 workflow of "memorize everything" just isn't low effort anymore - So when I wonder, "did I call that thing rowselectiongenepopulation or something less verbose?" I only have to type a few letters / cursor down and enter. This little change makes it effortless to stay with the thought flow and avoid my natural misspellifications.

Syntax error highlighting in the notebook is improved, but not quite praise worthy. It is much easier to see brace, bracket and parenthesis given messy-pile-of-shoelaces nesting, but there is not quite enough highlighting for Function[SubFunction[List[[item3]][[elements2;;60]] ]]; to have unique highlights for each brace combo or type of semicolon use. I won't claim to be a normal mathematica user- I almost never use anything in the "Palettes" assistance menu or Format pull down menu so there may well be great ways to customize auto-syntax highlighting and make it more like an "integrated developer environment".

The second serious improvement in Mathematica 9 is that Mathematica has gotten better about telling you what it can do. At first glance the "more functions/common commands" palette hardly seems like more than a toy and typically doesn't prove me with a forward workflow - BUT - it is good at introducing code functions or concepts that otherwise would of been scattered in the ?four thousand++ pages of online help. And when used occasionally as an alternative to the online help, results can be brilliant.

I work with largish data sets and Mathematica is awkward. Branched nested data structures, polling data, creating tables, selecting specifics-- its still a chore to code so as to keep memory use and CPU load minimized. All the same, my problems with data and perfectly reasonable looking code that runs 420 times slower than obscure arcane methods probably are not typical critisims of Mathematica. Still, I wish Mathematica naturally tended toward fast and lean with regard to datasets.

All together, Mathematica 9 almost introduces a feel of play. And I mean 'play' as extraordinary praise. My only disappointment is that my own children (about 11 and 14 year old math wizards, but not computer wizards) don't connect to the joy. Dad's just a little out there when it comes to crunching numbers and searching for unusual statistical relationships. I hope that future versions of Mathematica will continue to expand on the concept of playful discovery and accessability - this particular dad wants his kids to discover the same sense of wonder that I found back in ?88 when mom was building Cray supercomputers and a nifty ?NSA? analyst affiliated somehow with Cray introduced me to Mathematica 1.0. Or maybe my kids just don't get it because there are no spy agencies or super computers in their humdrum lives... hmm... could work on that I supose. Seems like that would be complicated tho. Hmm... better not.

*The new function, HoeffdingD[list1,list2] seems to take issue when comparing a target with a list that has near underflow differences between its values, and this unusual situation may sometimes result in reported correlations outside of the expected range of -0.5 to 1.0 for this function (I have found results greater than 1.4), but all this messyness is avoided with Round[lists, 0.0000001]. Or Round[a few less zeros than machine precision]