(This post was originally published on the Wolfram Blog.)
Mathematica 1.0 was released on June 23, 1988—now nearly 19 years ago. And normally, after 19 years, pretty much all one expects from software products is slow growth and incremental updates.
But as in so many things, Mathematica today just became a big exception.
Some people have said that Mathematica 6.0 shouldn’t even be called “Mathematica” at all. That it’s something so qualitatively new and different that it should be given a completely different name.
Well, perhaps I’m just too sentimental. Or too steeped in history. Or too naive about branding. But to me there’s no choice. We owe it to all the foundations we’ve laid these past twenty years to still call what we’ve built today “Mathematica.”
Realistically, I think it took us ten years after Mathematica 1.0 just to realize what a powerful thing we had in Mathematica.
We’d always talked about “symbolic programming,” and how it let us unify a lot of different ideas and areas. But sometime around the mid-1990s it began to dawn on us just what an amazing thing symbolic programming actually is.
And we began to think that there might be a whole new level one could reach in computing if one really did everything one could with symbolic programming.
Well, that was an intellectual challenge we couldn’t resist. So about ten years ago, we embarked on seeing just what might be possible.
And for the past ten years we’ve been building more and more.
Quite early on, there were already lots of pieces that seemed pretty surprising and interesting. But in the last few years, things have been going faster and faster. And seeing all the pieces come together has been a quite amazing experience.
It seemed like every time we reached one peak, we could see an even higher peak. And as we reached that peak, what we’d done so far seemed to become clearer and more powerful.
I’ve demonstrated pieces of what’s now Mathematica 6.0 for quite a long time. And I must say that increasingly I’ve had rather a lot of fun with it.
A few years ago, I would show people how we were building new interfaces, or automating new things, or unifying things that seemed quite different. And people would say “I’ve never seen anything like that before; that’s really nice.”
But then I started being able to show what’s now Mathematica 6.0 really coming together.
And I started to get a different response. I’d calmly put some live graphic into the middle of a typeset expression, and then programmatically build a sequence of interfaces from it, with little interfaces inside their menus, and so on. To me, all standard Mathematica 6.0 stuff.
But seasoned software people would suddenly stop me and say: “What’s going on? That’s impossible.” And then they’d explain why what they’d just seen simply couldn’t happen.
It’s fun to watch paradigm shifts. I’ve been lucky enough to see them a few times up close, particularly in science.
And somehow it seems like the Mathematica 6.0 paradigm shift is going to be an especially nice and easy one.
I explain how it is that symbolic programming—plus a huge amount of algorithm development and software engineering—lets us do all these “impossible” things.
And there’s a realization that, yes, there’s some serious conceptual stuff going on here.
That perhaps is going to take a while to digest—as it certainly did for us.
But it’s very clear that what’s going on is really useful, here and now.
And pretty soon, it’s “OK, so when is this thing going to be out? I really want it!”
Well, I have to say that it’s been an agonizing process for us.
We’ve kept on thinking that what we had was almost done. But then we realized something new. That not only let us get further, but also let us cast what we’d already done in a cleaner and clearer form.
I’ve done quite a few large intellectual projects in my life. And one thing I have learned is that there is a certain inexorability to them.
Each step has to build on the last. Each piece has to be fitted in. All in turn. Until finally one can see that the structure is finished: and that the ideas are truly polished, and ready to go out.
Well, I’m excited to say that that’s what’s now happened with Mathematica 6.0.
It’s taken a huge effort from a large number of very talented people. But as of today, it’s done.
Our decade of work is ready for all of us to use. Nineteen years after Mathematica 1.0, we’ve reinvented Mathematica. And I, for one, am tremendously excited about what it makes possible.