Bitwise

Language Barriers

Stephen Wolfram claims he can make the world computable. Is he on to something?

Stephen Wolfram
Stephen Wolfram released the first version of Mathematica in 1988, when he was 28.

Photo courtesy Joi Ito/Flickr

The British scientist and polymath Stephen Wolfram has always had big ambitions. He wrote four book-length works on physics by age 14. He earned a Ph.D. in particle physics from Cal Tech by age 20. By 22, he won a MacArthur “genius grant.” Now, he is proclaiming his new project, the Wolfram Language, to be the biggest computer language of all time. It has been in the works for more than 20 years, and, while in development, formed the underlying basis of Wolfram’s popular Mathematica software. In the words of Wolfram, now 54, his new language “knows about the world” and makes the world computable.

These are bold claims, and, if they were true, the Wolfram Language would change the world, solving longstanding problems of artificial intelligence that vex even Google. Indeed, Wolfram says he is working at a level far beyond Google. But are his claims true?

A bit of history: Mathematica is a sort of integrated toolbox for mathematical analysis and visualization. It is quite flexible at managing complex mathematics and mathematical models. Across the science and engineering disciplines, Mathematica has proved helpful in complex symbolic mathematical research, which can be applied to everything from thermodynamic modeling to seismic activity to Facebook friend graphs.

Most math and science students and professors use Mathematica or a similar program like MATLAB or Sage. It’s not as ubiquitous in the corporate world, but has found its uses there in intensely mathematical domains such as actuarial work and in engineering firms that do physical and chemical modeling.

Mathematica is all Wolfram’s baby. After spending some years in academia and getting fed up (“You look at all these scientists and you see people who did one good thing, and then they just keep on doing it for the rest of their lives,” he once said), he started his own company, Wolfram Research—it released the first version of Mathematica in 1988, when Wolfram was 28. “I much prefer to deal with smart business people who run venture capital firms than with the bozos the government employs to administer funds,” as he put it. Mathematica’s success made Wolfram wealthy and effectively gave him free rein to pursue his research interests outside the academic world.

Wolfram made a popular splash when he self-published the gargantuan A New Kind of Science in 2002. The book revolved around the intriguing field of “cellular automata”: how simple transformational and evolutionary rules applied to adjacent binary “cells” could produce very complicated processes over time. Wolfram intimated that such complexity constituted the underpinnings of life, the universe, and everything. The worth of the book was much disputed, coming in for harsh criticism from physicist Steven Weinberg, complexity researcher Cosma Shalizi (in a review titled “A Rare Blend of Monster Raving Egomania and Utter Batshit Insanity”), and any number of droll Amazon reviewers.

Just on the basis of Wolfram’s outsize reputation, the Wolfram Language will gain a lot of attention. And to be clear, it’s more than just a language. The actual underlying language itself is packaged with an extensive “knowledge base,” one that can be manipulated and analyzed in various symbolic ways. The knowledge base is too large to be contained by most computers, so the language requires a connection to Wolfram’s cloud. The language does not cleanly differentiate between operations that are purely nonrepresentational (like addition or multiplication) and those that involve real-world data (like taking a webcam picture or looking at the weather around the world). Because all these functions are baked into the language, one might be inclined to believe that the Wolfram Language is somehow more fundamentally aware of the world than a traditional computer language like Java or Python.

But when Wolfram says that his language “knows about the world,” it’s sleight of hand—no different from saying that the English language knows about the world because it happens to have words used in the world. If, for example, your language has a command called “CurrentImage” that snaps a photo of you with your webcam, like the Wolfram Language does, that makes the language no more aware of the camera or the photo than if you had been using JavaScript to access your webcam from your browser. You’re just going through Wolfram’s plumbing instead of the usual plumbing.

In short, the users of the language “know about” the world, not the language itself. Baking particular sorts of data into the language does not help it “learn” or “understand.” It is not able to generalize or deal with exceptions to its rules. Wolfram has shown how the language can grab the flags of different countries and treat them as a dataset that can be manipulated for geographical or aesthetic analysis—but that’s only because the code for Wolfram has specific handling for associating specific visual images of flags with specific country names. But if the nation of Davidstan decides to change its flag to an animated, rotating sphere with ultraviolet paint on it, the Wolfram Language won’t be able to handle that without modification.

Bottling all this real-world data together with the language has another, more pernicious side effect. If I want to use a different knowledge base with Wolfram, or use Wolfram’s knowledge base with a different underlying language, I can’t do that unless Wolfram gives the go-ahead, because he has locked all the pieces together. Given Wolfram’s penchant for suppressive legal threats around intellectual property, I recommend against building anything in the Wolfram Language, lest Wolfram decide that he owns it.

Certainly, there are conveniences to be gained from the tight integration that Wolfram offers, because there’s no longer a need to link together disparate data sources, possibly via multiple languages and platforms. The widespread use and usefulness of Mathematica is itself evidence in support of the Wolfram Language’s capabilities. And the language itself does have some interesting and potentially powerful technical features, some, such as parametric polymorphism, which allows for elegant pattern matching in functions borrowed from programming languages like ML and Haskell. But the cost in terms of flexibility is prohibitive: If any part of Wolfram can’t do what you want (or do it where you want it), you’re out of luck. And Wolfram holds all the cards.

The deceptive claim that the Wolfram Language has “a model of the world built in” is reminiscent of the inflated assertions about artificial intelligence—some here in Slate!—declaring that, say, IBM’s Watson computer is already artificially intelligent, just not intelligent like us. In truth, any meaningful definition of “artificial intelligence” will revolve around the ability to get by in our world. For one, an intelligent machine needs to be able to converse easily and convincingly with people about arbitrary topics—the challenge set by Alan Turing over 60 years ago in what became known as the Turing Test. An accurate and working “model of the world” would allow for such conversation. Here, no computer has yet succeeded, and the Wolfram Language is certainly not that milestone. Wolfram’s supposed “model of the world” is nothing but a piecemeal heap of data, neatly organized but utterly meaningless to the underlying machinery. The only way its “model of the world” could be viable is if the Wolfram Language really did take over the entire planet, so that our everyday lives were constrained and dictated by its logic. This is evidently Wolfram’s goal, and I hope he never reaches it.

The intellectual dishonesty in the presentation of the Wolfram Language, whether intentional or unintentional, disturbs me, as I’m sure it does many other computer science professionals. There is little that is genuinely new or different in Wolfram as compared to, for example, the Urbit language project, which aims to allow for integrated ad-hoc networks of computation across arbitrary numbers of machines and devices, big and small. To be sure, Urbit is perplexing—the intended use case seems to be for some postapocalyptic libertarian wasteland. But it’s far more visionary than Wolfram’s rehashed snake oil. Computer scientists should police his claims vigilantly in the public sphere. Otherwise, we will all look bad.