Stephen Wolfram on the future of programming and why we live in a computational universe

The brains behind Mathematica, Wolfram|Alpha, and the Wolfram Language talks about how programming languages need to develop.

Stephen Wolfram, the future of programming, and why we live in a computational universe

This article originally appeared on TechRepublic.

When it came to figuring out which computer scientist should help linguists decipher inscrutable alien texts, it was Stephen Wolfram who got the call. 

Sure, these extraterrestrials may only have existed in the sci-fi movie Arrival, but if ET ever does drop out of orbit, Wolfram might well still be on the short list of people to contact.


Download this article as a PDF (free registration required).

The British-born computer scientist's life is littered with exceptional achievements -- completing a PhD in theoretical physics at Caltech at age 20, winning a MacArthur Genius Grant at 21, and creating the technical computing platform Mathematica (which is used by millions of mathematicians, scientists, and engineers worldwide), plus the Wolfram Language, and the Wolfram|Alpha knowledge engine. 

His role advising for Arrival came out of the blue, when what he says was an interesting script crossed his desk with a request for help in consulting and creating some visuals for the soon-to-be-shot movie.

While Wolfram's involvement was mostly advising on some of the science and technical references in the script, his son Christopher was charged with devising a way in which linguists might decode these alien writings with next to no frame of reference, which meant the Wolfram Language also got some screen time.

At points during the film you can see Wolfram Language code being run as it deconstructs the alien logograms, slicing them up to help the on-screen linguists infer meaning from common patterns.

"The thing that was interesting is it's an alien first-contact story, and it's all about language and how we understand things," says Wolfram, explaining why he and his son took up the offer.

"Since I've spent much of my life as a computational language designer, I better be interested in how one can communicate thoughts with things like language."

The grand mission of Wolfram|Alpha

For all his other achievements, Wolfram is probably best known for launching Wolfram|Alpha, the computational knowledge engine that underpins Apple's Siri digital assistant's ability to answer questions from "What's the tallest building in the US?" to "How many days until Christmas?".

Wolfram|Alpha has a grand mission: To make it possible to answer any question, immediately and automatically from accumulated knowledge of our entire civilization. An engine that doesn't simply direct users to a particular web page, but that comes to answers by computing them using models, built-in algorithms, and trillions of pieces of curated data. 

While a search engine mostly serves up web pages as answers to questions, Wolfram|Alpha takes a different route, dynamically calculating the answer so that the answer to "Where is the International Space Station?" will be different each time, depending on where it actually is at that time. 

Wolfram|Alpha can help with queries across a wide range of disciplines, from algebra to physics, food and nutrition to personal health. All of these capabilities involved building in the models needed to compute the problems, as well as gathering and curating the data needed to run these calculations. 

Another way of looking at it: Google is, at its most basic, a magnifying glass for finding particular bits of text on the web, and giving you lots of options as to which might be the right one. Wolfram|Alpha is a Swiss Army knife, filled with tools aimed at helping you find the single answer to a question.

And yet, perhaps because we've been trained by years of googling to look at knowledge in particular ways, Wolfram|Alpha probably isn't for everyone. While it can work out the orbital path of the Hubble space telescope, or the number of pennies to cover two square miles, it has a harder time with questions like "Which are the best coffee shops in Shoreditch?".

That's not to say it is entirely humourless; if asked, it will deny that it is Skynet, noting "Unlike Skynet I enjoy interacting with humans in ways that do not involve the launching of nuclear missiles," and will give you an estimate of the number of alien civilizations in the Milky Way (10).

Download this article as a PDF (free registration required).

Since its launch in May 2008, as well as fuelling Siri, Wolfram|Alpha has been added into chatbots, tutoring systems, and smart TVs. It was announced in January 2019 that Wolfram|Alpha would provide some of its intelligence to Amazon's Alexa, allowing that digital assistant to answer questions like "Alexa, how many cups does 12 tablespoons make?," or "Alexa, how far is the Voyager 1 satellite from Earth?". 

As well as the public Wolfram|Alpha, there are enterprise versions that can answer questions using not only public data and knowledge, but also the internal data and knowledge from those organizations.

Wolfram|Alpha is in turn underpinned by Wolfram Language, a project that has been running through most of Wolfram's life. Wolfram Language effectively allows questions asked using natural language to be understood by a computer.

Wolfram|Alpha is now over a decade old. While it hasn't overtaken Google and still looks very complicated to the average new users, that hasn't dimmed Wolfram's ambition for it. 

"What should Wolfram|Alpha know about? My goal has always been to have it eventually know about everything. But obviously one's got to start somewhere," he said earlier this year.

Wolfram starts building his first computer language in 1979

The path that led to Wolfram Language and Wolfram|Alpha is long and winding. 

As a schoolboy his first love was physics, with Wolfram possessing a precocious talent that saw him publish his first scientific paper at age 15. 

While he first saw a computer 50 years ago, at the age of 10, he wasn't enthralled straight away, initially seeing the machine as a useful tool for exploring his interest in physics. 

"The first computer that I actually touched with my own hands was probably in 1972 or 1973, it was a thing called the Elliott 903, a British computer that's long extinct and rather exotic, the size of a large desk and programmed with paper tape," he says. "I always viewed it as being a tool for doing stuff that I was interested in, and I tried to simulate physics on the computer."

It was several years later that Wolfram began to develop an interest in computations and how computers worked, when studying particle physics at Caltech in 1979.

"I did a lot of programming computers to carry out some of the mathematical calculations you need for physics," he says.

"In 1979 I started building my first computer language, which was intended to be a language for doing computations you need in science. But I went back and tried to understand more about the nature of computation, in order to design the most general language. So that caused me to kind of go back and study mathematical logic and the origins of computing and so on," he says.

SEE: How to build a successful developer career (free PDF) (TechRepublic)

Wolfram co-designed a computer algebra system called SMP, a process he found useful when he started building Wolfram Language several years later.

At the same time Wolfram remained interested in how computers could simulate phenomenon such as the Big Bang and early galaxy formation, as well as neural nets, an idea that has taken off in the past decade thanks to advances in processing power and availability of training data.

Wolfram discovers rule 30 and writes A New Kind of Science

It was studying how complex behavior could arise from simple rules that led Wolfram to what he considers one of his most significant discoveries, made while scrutinizing one-dimensional cellular automata. 

Cellular automata offer a model for showing how simple rules determine the behavior of a system, with some rules resulting in complex and seemingly random outcomes. The importance of cellular automata hit home for Wolfram when he discovered "rule 30", which he calls "probably the single most surprising scientific discovery I had ever made". 

The illustration below is created using rule 30 and begins with a grid of empty cells. Starting with a single black cell in the center of the top line in the grid, the rule stipulates whether cells in each subsequent line should be shaded black or left empty, depending on the color of the cells around them. From just four lines of instructions in rule 30, irregular and complex patterns emerged, a discovery that led Wolfram to argue "it is this basic phenomenon that is ultimately responsible for most of the complexity we see in nature".


This illustration is created using rule 30, which Stephen Wolfram calls "probably the single most surprising scientific discovery I had ever made". 

Image: Stephen Wolfram, LLC

"I was studying these different examples of how you could make complex behavior, and I thought 'Let's try and make the simplest possible model that can capture the essence of what's going on in these different systems.'" 

Wolfram set out his arguments that the complexity of the natural world -- even the formation of the universe itself -- could spring from these very simple rules in A New Kind of Science, a best-selling book he spent more than a decade working on, living "as something of a hermit", before publishing it in 2002.

The book, with its bold ambition to "transform science", proved divisive, with some praising it for being a "first-class intellectual thrill", while others felt it was too speculative and didn't properly acknowledge how it built on earlier discoveries.

"Some people were like: 'Oh great, a new thing, we're so excited,' and other people were like, 'Oh no, no, we don't want anything new. We're just fine doing science or whatever it is the way we've done it for the last few hundred years'," says Wolfram.


Stephen Wolfram's book A New Kind of Science

Image: Wolfram Science

His recollection of the time and effort it took to write the book is aided by the trove of data he's captured on the minutiae of his life for more than three decades. The number of steps he's taken, how many emails he's sent and received, the meetings he's had, and every keystroke he's typed -- more than 100 million.

Doing so has allowed Wolfram to interrogate his past in unusual detail, and spot interesting patterns such as the dip in meetings when he took time out to write A New Kind of Science or how many new words are cropping up in his correspondence.

"Every so often there's something interesting that I want to look up about myself and then, as I passively collect tons of data because it's easy to do, very occasionally I'll want to answer some question, and then go and figure it out from that data," he says.

"I've realized that the main compensation for getting old is that you lived longer, so you know more stuff, you've experienced more things. The way that you really take advantage of that is to have good access to that whole history of yourself. At a meta level, that's the thing that I only really realized this comparatively recently."

Since A New Kind of Science was published, Wolfram says an increasing number of models of human behavior and physical systems are built around this idea of a "computational universe".

"It was interesting to me, the paradigm shift of thinking about things computationally, rather than mathematically," he says.

"In the last 15 years or so, if you look at new models that people make of things, whether they're of behavior of humans on the web or about plants -- whatever it is -- the vast majority of those new models are made in terms of programs, not in terms of mathematical equations."

Download this article as a PDF (free registration required).

Wolfram Language as a "computational language"

To tap into the power of this computational universe, Wolfram says what's needed is what he calls a "computational language".

"It so happens that I've spent the last three at least decades working on building this computational language that we call Wolfram Language that is an effort to try to be able to express computationally anything about the world," he says.

Wolfram Language draws upon much of the same underlying technologies as Mathematica and is the basis of Wolfram|Alpha.

Wolfram has described Wolfram Language as a "knowledge-based language" that has built into it "a vast amount of knowledge about how to do computations".

"So, right within the language there are primitives for processing images or laying out networks or looking up stock prices or creating interfaces or solving optimization problems," he said.

This broad sweep of built-in capabilities gives Wolfram Language abilities that aren't found in most other languages out of the gate; for example, typing currentImage[] captures the current image from the computer's camera. As such, the language can natively handle a wide range of data, everything from written language to geographic information, and visualize that data using relatively few lines of code.

But it was Wolfram Language's educational and mathematical focus that led to it being bundled with the official operating system for the $35 Raspberry Pi. The Raspberry Pi is designed to be a low-cost computer aimed at teaching kids about computers, and the Pi's official Raspbian OS bundles Wolfram Language alongside many other  tools for learning about programming, ranging from Python to the drag-and-drop language Scratch.

SEE: Raspberry Pi: More must-read coverage (TechRepublic on Flipboard)

Wolfram Language has limitations, and has been described by some users as better suited to solving a wide range of predetermined tasks, rather than being used to build software. It also seems there is still a way to go for Wolfram Language – it didn't, for example, feature in the IEEE's recent list of top programming languages.

Wolfram has said that Wolfram Language is not just a language for telling computers what to do, but a way for both computers and humans to represent computational ways of thinking about things.

Of late Wolfram has been more bold in how he talks about Wolfram Language, describing it as a "computational language" that could even help bridge the gulf between ourselves and future non-human intelligences, be they artificial intelligence (AI) or extraterrestrial. 

As esoteric a pursuit as it might seem, Wolfram believes the need for this lingua franca is timely, as machine-learning systems increasingly make decisions about our lives -- whether that's screening loan applications today or maybe even choosing whether to kill people tomorrow.

"One of the places where that's important is in expressing the computational thoughts that might define the overall behavior of AI," he says, adding that Wolfram Language "gives one a language in which to express computational thoughts".

The focus on abstracting away much of the underlying technical detail in Wolfram Language -- the nitty-gritty of how a computer is instructed to check stock prices online -- also reflects Wolfram's view of what computing should be for most users. 

He's skeptical of the recent push towards teaching more people to code for getting too bogged down in minutiae such as programming language syntax and control flow statements, the implementation details he feels aren't interesting to most users.

"We're now on about the fourth wave of attempts to teach programming/coding to kids," he says.

"The problem is that teaching raw programming, rather than computation about things, is ultimately rather boring to most people."

The majority would be better served by tools that allowed them to use computers to do whatever they're interested in, Wolfram believes.

"The interesting stuff tends to be the computational X, where X is whatever you might care about, whether it's journalism or literature or art history or whatever it is," he says.
"That's the place where most people are going to want to go."

Stephen Wolfram's new book Adventures of a Computational Explorer -- a series of essays in which he explores science, technology, AI, and language design -- is available now.

Download this article as a PDF (free registration required).

Also see