What I’ve Spent My Life On
I’ve been fortunate to live at a time in history when there’s a transformational intellectual development: the rise of computation and the computational paradigm. And I’ve devoted my adult life to doing what I can to make computation and the computational method achieve their potential, both intellectually and in the world at large. I’ve alternated (about five times so far) between doing this with basic science and with practical technology, each time building on what I’ve been able to do before.
The basic science has shown me the immense power and potential of what’s out there in the computational universe: the capability of even simple programs to generate behavior of immense complexity, including, I now believe, the fundamental physics of our whole universe. But how can we humans harness all that power and potential? How do we use the computational universe to achieve things we want: to take our human objectives and automate achieving them?
I’ve now spent four decades in an effort to build a bridge between what’s possible with computation, and what we humans care about and think about. It’s a story of technology, but it’s also a story of big and deep ideas. And the result has been the creation of the first and only full-scale computational language—that we now call the Wolfram Language.
The goal of our computational language is to define a medium for expressing our thoughts in computational terms—whether they be about abstract things or real things in the actual world. We want a language that both helps us think in a new way, and lets us communicate with actual computers that can automate working out their consequences. It’s a powerful combination, not really like anything seen before in history.
When I began on this path a little more than forty years ago, I only understood a small part of what a full-scale computational language would give us, and just how far it would diverge from the aspirations of programming languages. But with every passing year—particularly as we develop our language ever further—I see yet more of what’s possible. Along the way it’s brought us Mathematica, Wolfram|Alpha, my A New Kind of Science and now our Physics Project. It’s delivered the tools for countless inventions and discoveries, as well as the education of several generations of students. And it’s become a unique part of the technology stack for some of the world’s largest companies.
And, yes, it’s nice to see that validation of the bold vision of computational language. But even after all these years we’re still only at the very beginning of what’s possible. Computation has the potential to change so much for so many people. For every field X there’s going to be a computational X, and it’s going to be dramatically more powerful, more accessible, and more general than anything that came before. We’re seeing a major watershed in intellectual history.
There was a precursor four hundred years ago—when mathematical notation for the first time provided a streamlined way to represent and think about mathematics, and led to algebra, calculus and the mathematical sciences and engineering we have today. But computation is much bigger than mathematics, with much more far-reaching consequences. It affects not just the “technical layer” of understanding the world, but the full spectrum of how we think about the world, what we can create in it and what can happen in it. And now, with our computational language, we have a medium—a notation—for humans and computers to together take advantage of this.
We’re at a moment of great potential. For the first time, we have broad access to the power of the computational paradigm. But just what can be done with this, and by whom? There’s been a trend for the front lines of thinking to become increasingly specialized and inaccessible. But rather like literacy half a millennium ago, computation and computational language provides the potential to open things up: to have a framework in which pretty much anyone can partake in front-level thinking, now with the clarity and concreteness of computation, and with the practical assistance of computers.
The arrival of the computational paradigm—and computational language—is the single largest change in content to have happened since the advent of public education a century or so ago. But whatever practical difficulty it may cause, I view it as a critical responsibility to educate future generations to be able to take advantage of the power of computation—and to make the rise of computation and everything it brings be what our time in history is most remembered for.
The Inexorable Future & Its Opportunities
In the history of ideas, some things are inexorable. And the rise of the computational paradigm is one of those things. I have seen it myself over the course of nearly half a century. From “computation is just for specialists”, to “computation is useful in lots of places”, to “everyone should know about computation”, to a dawning awareness that “computation is a way of thinking about the world”. But this is just a foretaste of what is to come.
Computation is an incredibly general and powerful concept—which now indeed appears to be fundamental to our whole universe—and it seems inevitable that in time computation will provide the framework for describing and thinking about pretty much everything. But how will this actually work? We already know: computational language is the key.
And there is an inexorability to this as well. In the early days of computing, one programmed directly in the machine code of the computer. But slowly programming languages developed that gave us more convenient ways to describe and organize what we wanted to tell computers to do. Over time the languages gradually got higher and higher level, abstracting further and further away from the details of the operations of the computer.
It’s a pretty big jump to go to our modern conception of computational language, but it’s an inevitable one. Unlike programming languages—which are about describing what computers should do—my concept with the Wolfram Language is to have a way to represent everything in computational terms, for both computers and humans.
Over the past 40 years I’ve gradually understood more and more about how to construct a computer language for everything, and gradually we’ve been covering more and more with the Wolfram Language. But the endpoint is clear: to have a symbolic, computational representation for everything we humans choose to describe and work with in the world.
Some parts of this vision were absorbed quickly after we first delivered them. Mathematica as a “system for doing mathematics by computer” took only a few years to sweep across theoretical science. But even our concept of notebooks (which I always considered quite straightforward) took a solid quarter of a century to be widely absorbed, and copied.
Part of my original motivation for building the Wolfram Language was to have a tool that I could use myself, and it has turned out to be vastly more powerful than I could ever have imagined. It’s always a pleasure to see what people do with the Wolfram Language. Whether they’re distinguished leaders in their fields, or young students, they somehow seem to have a superpower that they can apply.
Yes, at some point in the future, the whole concept of computational language—and what we’ve done with Wolfram Language—will be part of what everyone takes for granted. But even after all these years, pretty much whenever I demo what we can do, many people still seem to think it’s magic. It’s as if I’m bringing an artifact from the future.
For oneself there’s no question that it’s fun—and valuable—to have an artifact from the future to use. But I feel a strong responsibility to try to bring everyone to the future—and to let everyone take advantage of the power of the computational paradigm as soon as possible.
I used to think that it wouldn’t take too long for this to just happen. But I’m realizing that the timescales are much, much longer than I imagined. Our physics project, for example, I first conceptualized 25 years ago, and nearly 20 years ago millions of people were exposed to it. Yet had it not been for a fortunate coincidence a year or so ago, I think the project could easily have languished for 50 years.
What about the whole concept of computational language? Some parts of it are quickly absorbed. But the further and further we go, the longer it’s going to take for the full story to be absorbed, and at this point it seems we’re looking at timescales of at least 50 years and perhaps 100 or more.
I’ve always wanted to build the best engine for innovation that I can. And for the past 34 years that’s been our company—which I’ve worked hard to optimize to consistently develop and deliver the best technology we can. I’ve considered other models, but what we’ve built seems basically unique in its ability to consistently sustain highly innovative R&D over the course of decades.
Over the years, our company has become more and more of an outlier in the technology world. Yes, we’re a company. But our focus is not so much commercial as intellectual. And I view what we’re doing more as a mission than a business. We want to build the computational future, and we want to do that by creating the technology to make that possible.
By now we’ve built a tower that reaches into the distant future, and we’re energetically working to extend it even further. It’s wonderful to see our community of users enabled by what we’re building—and to see the things they’re able to do.
But so far it’s still a comparatively small number of people who can harness artifacts from the future to do magic today. At some level it’s a shame it isn’t more widespread. But of course, it creates some amazing opportunities.
Who will bring computational language to this or that field? Who will write the definitive book or do the definitive research that leverages computational language in some particular way? Who will have the pleasure of seeing all those epiphanies as, one by one, people learn what the computational paradigm can do? Who will really develop the large-scale communities and disciplines enabled by the computational paradigm?
It has been wonderful to plant the seeds to make all these things possible, and I personally look forward to continuing to push further into the computational future. But more than that, I hope to see an increasing number of other people take advantage of all the opportunities there are for bringing what now seem like artifacts from the future to the benefit of the world today.