Screenshot from Wolfram.com.
I usually plan for my posts, but then I’ll end up reading something which will drive me a little nuts. As I’m not feeling particularly well, I’ll plan to keep this post short (and fail, it seems), but I’m referring to this article by David Auerbach, entitled “Language Barriers”.
At Auerba.ch, he bills himself as a “Writer, software engineer, critic”, the latter of which is an easy moniker to use, and requires absolutely no special skills. The first two, of course, do, and while I’m not familiar with any of Mr. Auerbach’s software engineering, he has apparently worked at Microsoft and Google, which means he must have been good at it (presuming, of course, he was employed there in that capacity). I’ve sampled only one article of his writing so far, and it seems he takes the ‘critic’ title more seriously than the ‘writer’ title.
Auerbach rounds up the intellectual dishonesty claims against Stephen Wolfram in such a way that I don’t have to rehash what’s already in the article, but I will say that what he does bring up happened more than a decade ago. The Cook lawsuit was settled in such a way that Cook published under his own name, and none of us are privy to the contract that Cook signed with Wolfram, so we can’t really speculate on what it might have contained. Plenty of people have signed contracts that weren’t in their favour that they later regretted, and since we don’t know what was in the contract, we can’t say if that was the case here or whether Cook had a legitimate disagreement.
With respect to the language, Auerbach lambasts Stephen Wolfram’s Wolfram Language as one we as computer scientists must all police, lest we (presumably, computer scientists) “all look bad”. The reasoning behind this is that Wolfram is apparently intellectually dishonest and that Wolfram claims to have created a language that is ‘more aware’ of the world than most other languages. Mentioning the flags illustration that Wolfram provides in his demonstration he goes on to say that if some country alters its flag, then the demonstration would no longer work and that you’d be out of luck because a change to use that alteration would require going back to Wolfram who “holds all the cards”.
This is so ironic coming from someone who has worked at Microsoft.
How exactly is this any different from just about every non-open source language or software programme or entity of computer science?
What happened when George Bush changed Daylight Savings time to include an additional four weeks in 2005 (beginning in 2007)? Ninety percent of the world’s computers, all running Microsoft Windows, had to go back to Microsoft to wait for a patch. What happens when there’s a software vulnerability in a piece of Oracle database software? You have to go back to Oracle to wait for a patch. Complaining that you have to go back to an author of a closed-source software tool is in itself intellectually dishonest because that’s what you have to do. It doesn’t even stop at computer science – if you buy a proprietary anything from anyone you have to go back to them for changes. Just ask anyone who has bought anything from Sony in the last fifteen years. Try using a non-Keurig coffee pod in the near future and see how much coffee you get out of your machine.
It’s ironic that he publishes on Slate, which includes this gem while reading his article:
With respect to the flags, if the nation of Davidstan did exist and have an “animated rotating sphere with ultraviolet paint on it”, ironically the Wolfram Language would be one of the few with enough constructs that it actually could render it in Mathematica or on Wolfram Alpha very quickly – even without a copy of the flag itself, you could render most of those ideas (most in natural language) rather fast with what Wolfram’s built so far. In Mathematica, I can type “== draw a sphere” and get a manipulatable sphere, which I can save as a Computable Document Format and embed into a webpage in less than a minute:
Screenshot from my copy of Mathematica 9. Note the sphere is manipulatable – I can move it with the mouse.
Embeddable CDF creation in Mathematica is quick and easy. Screenshot from my copy of Mathematica 9.
Then there’s the argument that the Wolfram Language only succeeds at the tasks demonstrated because it has so many other things built in. One of the common critiques of the Wolfram Language from the demonstration video is against the “Shortest Tour” section of the video – when you demonstrate a programme that calls “Shortest Tour” to map out a shortest tour problem, you’re being intellectually dishonest because you’re not showing the functions and libraries behind that that actually do the ‘heavy lifting’ of the actual calculations.
Um, that’s how software works.
When was the last time that you pulled up a web page that revealed all its inner workings? When was the last time you saw a Python demonstration that showed the underlying assembly language behind the compiled byte code? When was the last time anyone asked to see the Java code behind the set-top box that allows them to watch their favourite shows? How often do you query the internals of your car’s satellite radio display? This argument is absurd – software is built on hardware, electricity, 0s and 1s, machine code, and then more complex software, and then less complex software, and library compilation and reuse is a pervasive, necessary, and desirable outcome in the software world. That Wolfram’s demo does not show the library behind the “Shortest Tour” (for example) is certainly a good thing! If we’re to the point where I can compute a shortest tour outcome with one or two lines of code, why would I want to then make my life more difficult by actually reinventing the wheel? The difference is that in the Wolfram Language, I can get to the math/computation behind that code and I can still change or adjust it if I want. (The same is true of many languages.) The argument of saying that you don’t see the underlying libraries is like saying you want to see all your HTTP requests when you pull up a website because the people serving you the website are being intellectually dishonest by using standard models of client-server code that you don’t see. Hell, Python exists partly to eschew the complicated nature of programming languages like Perl, with ease-of-use and ease-of-reading as its primary goal.
Auerbach conflates Wolfram’s assertion of ‘having a model of the world built in’ with arguments for artificial intelligence, when Wolfram only mentions that the language is ‘aware’ of various things and never mentions artificial intelligence at all, so I’m not sure why he’s brought that argument in. Again, conflation may make for good copy, but attempting to use a ‘sleight of hand’ where none should be used is itself intellectually dishonest. Wolfram’s ‘awareness’ does not imply artificial intelligence, but suggests that Wolfram Research has compiled a vast amount of information about various things in thirty years, a true claim. The Wolfram Connected Devices project quite literally states that they’re building a huge database of information, and artificial intelligence has nothing to do with that, nor is any link to artificial intelligence claimed that I can see.
Lastly, he compares the Wolfram Language to Urbit, a language supposedly built for use in a “post-apocalyptic libertarian wasteland”. Maybe Auerbach watched the videos at the Urbit website, but I couldn’t see anything that would justify such a claim, and ad hominem attacks are the lowest form of criticism. Again, conflation of one thing with another may make for good copy, but because two languages may have similar concepts behind them does not mean they’re in any way related. Technically, all computer languages have similar concepts behind them, so one could just as easily say that the Wolfram Language is the next evolution of all of them – not something I’m saying, but you could just as easily go as far on the plus side as Auerbach does on the negative.
Living in New York with “thousands of books” (a fact which Auerbach may include to make us think he’s well read?) Auerbach spends a lot of time writing, but it’s the critiquing that he seems to have a penchant for from what I can see. It’s unlikely the Wolfram Language will usher in world peace, but neither will unnecessarily slinging sharp barbs from the sidelines for the sole purpose of driving traffic to Slate.