In November of 2013, Stephen Wolfram – the man behind the Wolfram|Alpha Computation Engine, Mathematica Computation Application, and the author of A New Kind of Science – shed some light on his remarkable vision for the future of computation.1 Throughout the course of building Wolfram|Alpha and Mathematica, Wolfram believes that he has found a way to drastically alter the course of computation.
Many have begun to opine that Wolfram’s revelation is a direct threat to Google and their semantic search. Though it is a threat to Google, it is much more of a threat to computer programming as we know it. Rather than taking on Google, Wolfram seems to be taking on the entire computation ecosystem.
Wolfram|Alpha And Mathematica
Before diving into Wolfram’s latest revelation, it is crucial to understand both Wolfram|Alpha and Mathematica. According to his own description, Wolfram|Alpha is, “a fundamentally new way to get knowledge and answers—not by searching the web, but by doing dynamic computations based on a vast collection of built-in data, algorithms, and methods.”2 While that description may sound an awful lot like a standard search engine, there is a major difference. Standard search engines, such as Google, scour the web for information, whereas Wolfram|Alpha “generates output by doing computations from its own internal knowledge base, instead of searching the web and returning links.”3 Wolfram|Alpha, “uses built-in knowledge curated by human experts to compute on the fly a specific answer and analysis for every query.”4 The applications of Wolfram|Alpha are virtually limitless, but there are several limitations: “It can only know things that are known, and are somehow public. It only deals with facts, not opinions.”5
I am not going to try and explain Mathematica, instead I will defer to the products website:
Almost any workflow involves computing results, and that’s whatMathematica does—from building a hedge-fund trading website or publishing interactive engineering textbooks, to developing embedded image-recognition algorithms or teaching calculus.
Mathematica is renowned as the world’s ultimate application for computations. But it’s much more—it’s the only development platform fully integrating computation into complete workflows, moving you seamlessly from initial ideas all the way to deployed individual or enterprise solutions.6
Essentially, Mathematica is the technology that drives Wolfram|Alpha.
“Our Most Important Technology Project Yet”
Wolfram laid out some of what he called the most important technology project in the aforementioned blog post. This article is about to get quote heavy, but you will see why. Wolfram admits that it is hard to aptly describe the new project in broad strokes, but he was able to lay out some of the specifics. In what is just about the closest that Wolfram’s blog post comes to a concise elevator pitch, he began by saying:
It’s hard to foresee the ultimate consequences of what we’re doing. But the beginning is to provide a way to inject sophisticated computation and knowledge into everything—and to make it universally accessible to humans, programs and machines, in a way that lets all of them interact at a vastly richer and higher level than ever before. 7
And to add to this opening description, Wolfram told John Koetsier, of Venture Beat, in an interview:
In general, what we’re trying to do is so that as long as a person can describe what they want, our goal is to get that done. A human defines what the goal should be, and a computer does its best to figure out what that means, and does its best to do it. 8
Wolfram Language
At the heart of this computation revolution, or evolution, is a new programming language: Wolfram Language. 9 This new language is wildly different from any existing programming language, it is a general-purpose knowledge-based language:
There are plenty of existing general-purpose computer languages. But their vision is very different—and in a sense much more modest—than the Wolfram Language. They concentrate on managing the structure of programs, keeping the language itself small in scope, and relying on a web of external libraries for additional functionality. In the Wolfram Language my concept from the very beginning has been to create a single tightly integrated system in which as much as possible is included right in the language itself.
And so in the Wolfram Language, built right into the language, are capabilities for laying out graphs or doing image processing or creating user interfaces or whatever. Inside there’s a giant web of algorithms—by far the largest ever assembled, and many invented by us. And there are then thousands of carefully designed functions set up to use these algorithms to perform operations as automatically as possible…So in a sense inside the Wolfram Language we have a whole computable model of the world. And it becomes trivial to write a program that makes use of the latest stock price, computes the next high tide, generates a street map, shows an image of a type of airplane, or a zillion other things. 10
Many have begun to argue that Wolfram’s new project is a threat to Google and all their work on semantic search. This is true, in a way, but it seems to be more of a threat to the entire current computing/coding/programming ecosystem. The mutual exclusivity that currently exists in programming languages need not exist. Wolfram continued:
There’s a fundamental idea that’s at the foundation of the Wolfram Language: the idea of symbolic programming, and the idea of representing everything as a symbolic expression. It’s been an embarrassingly gradual process over the course of decades for me to understand just how powerful this idea is. That there’s a completely general and uniform way to represent things, and that at every level that representation is immediately and fluidly accessible to computation.
It can be an array of data. Or a piece of graphics. Or an algebraic formula. Or a network. Or a time series. Or a geographic location. Or a user interface. Or a document. Or a piece of code. All of these are just symbolic expressions which can be combined or manipulated in a very uniform way. 11
Rather than build a language within the current framework of programming languages that exist today, Wolfram’s approach is 100% novel.
In most languages there’s a sharp distinction between programs, and data, and the output of programs. Not so in the Wolfram Language. It’s all completely fluid. Data becomes algorithmic. Algorithms become data. There’s no distinction needed between code and data. And everything becomes both intrinsically scriptable, and intrinsically interactive. And there’s both a new level of interoperability, and a new level of modularity. 12
While we are, certainly, a long way away from any sort of widespread shift towards Wolfram Language, Wolfram has already begun to imagine some possible applications.
Wolfram Programming Cloud, Data Science Platform, and Publishing Platform
There’ll be the Wolfram Programming Cloud, that allows one to create Wolfram Language programs, then instantly deploy them in the cloud through an instant API, or a form-based app, or whatever. Or deploy them in a private cloud, or, for example, through a Function Call Interface, deploy them standalone in desktop programs and embedded systems. And have a way to go from an idea to a fully deployed realization in an absurdly short time.
There’ll be the Wolfram Data Science Platform, that allows one to connect to all sorts of data sources, then use the kind of automation seen in Wolfram|Alpha Pro, then pick out and modify Wolfram Language programs to do data science—and then use CDF to set up reports to generate automatically, on a schedule, through an API, or whatever.
There’ll be the Wolfram Publishing Platform that lets you create documents, then insert interactive elements using the Wolfram Language and its free-form linguistics—and then deploy the documents, on the web using technologies like CloudCDF, that instantly support interactivity in any web browser, or on mobile using the Wolfram Cloud App. 13
While this is insanely ambitious, it seems that Wolfram is just the man to make it come together. Though it may be some time, years even, before we see this project come to fruition, if it succeeds it will be the single-most important breakthrough in a generation.
For more info and Wolfram Language Documentation, see Wolfram Language, Wolfram’s Blog Post, and look for updates on Wolfram’s Blog
- Stephen Wolfram, Stephen Wolfram Blog, “Something Very Big Is Coming: Our Most Important Technology Project Yet,” November 13, 2013. ▲
- About Wolfram|Alpha ▲
- Wolfram|Alpha FAQs ▲
- Ibid ▲
- Scope of Wolfram|Alpha. Walter Hickey of Business Insider took a very interesting look at Wolfram|Alpha and explored some of the applications of the platform in his: “32 Tricks You Can Do With Wolfram Alpha, The Most Useful Site In The History Of The Internet.” ▲
- Mathematica Product Page ▲
- Stephen Wolfram, Stephen Wolfram Blog, “Something Very Big Is Coming: Our Most Important Technology Project Yet,” November 13, 2013. ▲
- John Koetsier, Venture Beat, “Sentient code: An inside look at Stephen Wolfram’s utterly new, insanely ambitious computational paradigm,” November 29, 2013. ▲
- Wolfram Language Website ▲
- Stephen Wolfram, Stephen Wolfram Blog, “Something Very Big Is Coming: Our Most Important Technology Project Yet,” November 13, 2013. ▲
- Ibid ▲
- Ibid ▲
- Ibid ▲
Pingback: joy of code 2014, imitation game with Turing, more diverse zeitgeist | Turing Machine