November 4, 2019
What’s the rationale behind developing the Wolfram Language?
The concept of Wolfram Language (which is a direct extension of my original vision for Mathematica) is to have a computational language that can describe things in the world—things people want to talk about—in computational terms. It’s common to take small pieces of natural language (like “density of tungsten”) and have our natural language understanding system turn them into symbolic representations from which we can do computation. In that sense, Wolfram Language is, as much as anything, a description of what Mathematica has become, recognizing that “mathematics” is no longer a central focus.
I think there’s an interesting analogy between our effort to create a computational language and the origins of mathematical notation. Four hundred years ago, mathematics had to be described in words and ordinary language. But then mathematical notation was invented, and it provided a streamlined way for people to represent mathematical ideas—opening up the development of algebra, calculus and our modern mathematical sciences. It’s the same story with our computational language. We’re providing a broad language for representing computational ideas, and it’s unlocking “computational x” for essentially all fields x.
Computational essays are an important concept in Wolfram Language. Today, people write papers, for example in physics, using a combination of human language and mathematical notation. But with our computational language, it’s possible to routinely represent computational ideas, in a form that not only computers, but also humans, can readily understand. Our computational language provides a new channel for communicating ideas, and it’s also immediately executable. That means the papers of the future can be computational essays where people can not just read, but also execute, what’s said. Underlying data can be brought in (for example from our Wolfram Data Repository). And people can immediately build on one piece of work to do more.