Wolfram Research Founder and CEO Stephen Wolfram believes in the power of computation to shape the world. The company’s goal is to provide the framework to enable computation to reach its full potential in the coming decades. Facilitating this goal means making it possible to compute “whatever can be computed, whenever it is needed.”
Earlier this month, Stephen Wolfram blogged that the company would soon be announcing its “most important technology project yet.” This programming effort draws from decades of discoveries in computational knowledge, symbolic programming, algorithm automation, dynamic interactivity, natural language, computable documents, the cloud, connected devices, symbolic ontology and algorithm discovery – to create something at a different level.
The building block to all of this is the Wolfram Language, a general-purpose knowledge-based language that “covers all forms of computing, in a new way.” The Wolfram Language was developed as part of the company’s Mathematica offering, the advanced computational software program used in the technical and education community for more than 25 years. It’s also the language used to implement knowledgebase /search engine Wolfram|Alpha. Although the Wolfram Language incubated in these projects, it’s nearly ready to emerge on its own, according to Wolfram.
“There are plenty of existing general-purpose computer languages,” notes the CEO. “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.
“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.
“But now there’s even more. Because we’re also integrating right into the language all the knowledge and data and algorithms that are built into Wolfram|Alpha. 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.
“We’re also getting the free-form natural language of Wolfram|Alpha. So when we want to specify a date, or a place, or a song, we can do it just using natural language. And we can even start to build up programs with nothing more than natural language.”
There’s all these pieces (see chart above) working as a unified whole, according to Wolfram. Essentially though, the Wolfram Language is a symbolic one.
“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,” the CEO observes. “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.”
“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,” he adds.
Over the next several months, Wolfram will be releasing new products based on the Wolfram Language. These include:
- The Wolfram Programming Cloud – will enable developers to create Wolfram Language programs, then instantly deploy them in the cloud.
- The Wolfram Data Science Platform – will allow researchers to seamlessly employ many different data sources. CDF can be used for generating reports automatically or on a schedule.
- The Wolfram Publishing Platform – lets users create documents, then insert interactive elements using the Wolfram Language and its free-form linguistics. They can then deploy the documents on the Web using tools like CloudCDF, that support interactivity in any Web browser, or on mobile using the Wolfram Cloud App.
The work that goes into Wolfram Language will also be used to advance Mathematica. MathematicaOnline will support entire Mathematica sessions, deployed through the user’s Web browser. The Wolfram Cloud will be integrated with desktop use, providing features such as persistent symbolic storage, and instant large-scale parallelism.