If you want power, conciseness and beauty, look no further than the Wolfram Language. Sometimes referred to informally as M, the Wolfram Language is the backbone of Mathematica, the computational software engine created by Wolfram Research in the late 1980s. The Wolfram Language is also running behind the scenes at Wolfram Alpha, a knowledge search engine you can access through a browser or mobile app.
The Wolfram Language is new, but also not new. Versions of it have existed for about 25 years, embedded in the products mentioned above. What’s excited is that Wolfram Research is going to break out the Wolfram Language as a standalone knowledge-based programming language that, I hope, will be available for other uses beyond the company’s own products.
If you try the first link mentioned above, you will see that there’s nothing there other than a box saying, “Coming soon! Be the first to know when Wolfram Language is introduced.”
Go ahead, put your e-mail into the box. (Disclosure: During the early 1990s, I was the editor of The Mathematica Journal, published quarterly in cooperation with Wolfram Research. Stephen Wolfram, the genius behind all the products, is a friend.)
As Stephen explains in his blog:
In a sense, the Wolfram Language has been incubating inside Mathematica for more than 25 years. It’s the language of Mathematica, and CDF—and the language used to implement Wolfram Alpha. But now—considerably extended, and unified with the knowledgebase of Wolfram Alpha—it’s about to emerge on its own, ready to be at the center of a remarkable constellation of new developments.
We call it the Wolfram Language because it is a language. But it’s a new and different kind of language. It’s a general-purpose knowledge-based language. That covers all forms of computing, in a new way.
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.
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.
But in the Wolfram Language, there’s not just a framework for setting up these different kinds of things. There’s immense built-in curated content and knowledge in each case, right in the language. Whether it’s different types of visualizations. Or different geometries. Or actual historical socioeconomic time series. Or different forms of user interface.
This is incredibly exciting: a programming language that goes beyond syntax to include context.
The language also includes a great do-it-yourself kit. Wolfram Research will be bundling the Wolfram Language as part of the standard system software for every Raspberry Pi computer.
If you’ve been looking for an excuse to play with Mathematica, or with the Raspberry Pi, here you go. Guess what I’m hoping to get for the holidays!
Alan Zeichick, founding editor of SD Times, is principal analyst of Camden Associates.