WOLFRAM

Announcements & Events

Why Spend More Than Five Minutes on a GUI?

I’ve been a “professional” user-interface programmer for 20 years. In that time I’ve written a grand total of three little apps just for the fun of it. Two of them I snuck in as hidden buttons in the Mathematica About Box, because it was just too difficult to start a new application from scratch. All of them can be replicated in a few minutes using Version 6. In my experience, writing GUI (graphical user interface) applications in C or Java or Visual Basic---or whatever---is fine if you plan to spend weeks or months on a program, but prohibitively horrible if you really only have a few minutes to dedicate to the task. You have to allocate windows, store pointers to them, then allocate controls or read them from some kind of resource file, store pointers to them, blah, blah, blah. It might be two or three pages of code before you can even start thinking about what this program is actually supposed to do. Cocoa and other such frameworks make it marginally easier. I enjoyed programming in NeXTSTEP (which is what Cocoa was called before Apple took over NeXT). It’s the environment in which I wrote RealTimeAlgebra in 1989, the one just-for-fun app I wrote not as an About Box button. (RealTimeAlgebra was basically what we now call Manipulate.) But it is still a pain. Instead of starting by writing pages of code to deal with windows, you start by using an annoying graphical tool to lay out controls and define who is connected to whom. Then you get to write pages of code defining the actions of all these controls before you can start working on the actual content.
Announcements & Events

Today We Put a Prize on a Small Turing Machine

It is perhaps ironic that two weeks after releasing what is probably the single most complex computational system ever constructed, we are today announcing a prize for the very simplest of computational systems. But today is the fifth anniversary of the publication of A New Kind of Science, and to commemorate this, we have decided […]

Announcements & Events

Five Years of A New Kind of Science

New technology is often what has driven the creation of new science. And so it has been with Mathematica. One of the main reasons I originally started building Mathematica was that I wanted to use it myself. And having Mathematica was a bit like having one of the first telescopes: I could point it somewhere, […]

Announcements & Events

Symbolic Programming Visualized

Symbolic programming has been a core idea in Mathematica since the very beginning. But it is a big idea and an abstract idea. And people understandably just want to know what the bottom-line benefit is, and could care less about what went into making it happen. Fortunately, Mathematica 6 is making it a lot easier to illustrate ideas about symbolic computation in visual and interactive forms.

High-Level Functions

For starters, illustrating the core programming primitives with visual examples is a piece of cake with the new graphics and typesetting functions. For example, Map will take a function and apply it to each element in a list: NestList will take a function and apply it over and over again to the initial seed, returning a list of all the iterations: Programming in Mathematica is based on transforming trees. The built-in function TreeForm allows us to visually represent the tree backbone of Mathematica programs and data structures:
Announcements & Events

Mathematica Player: So Much More Than Just the New MathReader

Slipped in quietly alongside Mathematica 6’s release is the start of another profound development: Mathematica Player. At the moment, Player is just the way to run Demonstrations and read Mathematica notebooks, but in the near future it will be much, much more. Good things usually have a good reason to do them. Player has at least three. The first push came from asking where to take MathReader when Mathematica 6 shipped. MathReader has long been the free way to view Mathematica notebooks---in a sense the technical Adobe (Acrobat) Reader that handled Mathematica’s typeset math, cell hierarchy, graphics, animations and even sound (usually of the weird function-based variety!). In the end, though, it was just a “dead” viewer. For a number of years we’d known that "instant interactivity" would be central to Mathematica 6. So, why not make the accompanying MathReader the way to “view” this interactivity? After all, Mathematica was coming alive. Why shouldn’t MathReader too---in the role of a player or runtime for these newly dynamic notebooks?
Announcements & Events

Eating Your Own Dogfood

Wolfram Research is a place where “eating your own dogfood” is part of the culture. Most of us use Mathematica for our routine office administration tasks, documents, presentations, sales forecasting, etc. I have been using Mathematica to analyze international sales data for 15 years now. It was through this activity that I think I can stake the claim to being the first real practical professional user of the new CountryData function. It was time to present an analysis of sales figures at our annual Wolfram Reseller Conference in April to help our distributors understand where they are doing well and where they need to improve. Comparing sales is difficult when one distributor has a large territory like Germany, and another a relatively small one like Romania. A couple of years ago, I started using economic gross domestic product (GDP) of the territory as a scale, but it is a pretty blunt tool---one might expect a small industrialized economy to outperform a large agricultural one. This year, a new tool was in my hands: Mathematica 6.
Computation & Analysis

Computable Data—Already Updated in Mathematica

Well, Mathematica 6 has only been out a week, and I’m happy to announce that we’ve already released an update! What’s better, you probably already have it if you use Mathematica 6! How is that possible? After exploring the What’s New website, you might have noticed the page for Load-on-Demand Curated Data, which says our “efficient load-on-demand mechanism makes hundreds of gigabytes of carefully curated and continually updated data immediately available inside Mathematica for use in computations.” We’ve done a lot of work to aggregate data in a variety of disciplines, from chemistry to graph theory, geography to linguistics. This data is collected from a broad range of sources and processed both automatically and by knowledgeable experts here at Wolfram Research, with the goal of providing data that is consistent, computable and accurate. How is this data delivered to you? At first, you might guess it’s shipped along with the many other features of the product. But the box doesn't have a dozen CDs in it and there’s only a single download from our online store. That’s because Mathematica itself automatically downloads the data it needs, when it needs it.
Products

Illuminating Ideas: The Wolfram Demonstrations Project

Now that Mathematica 6 is out, I can finally talk about an amazing site we’ve built with it---the Wolfram Demonstrations Project. The Demonstrations Project is a collection of interactive visualizations made using Mathematica 6. You can preview the Demonstrations on the web and download them to run in Mathematica or the free Mathematica Player. We began the project last year, when Stephen Wolfram realized that the dynamic capabilities we were building into Mathematica 6 would allow users to create and share new interactive content much faster than ever before. From an initial seed of a few dozen, the site has already grown to almost 1,300 Demonstrations, with more pouring in each day. And if you have Mathematica 6, making your own Demonstrations is as easy as completing and uploading an authoring notebook. Any Mathematica 6 user can participate. The Demonstrations are all open-code, so you can even see how each one is built (usually with just a few short lines of Mathematica). Take a few moments to explore the site. It’s grown so much that even someone like me---who works on it full time---is constantly surprised by what’s there. It has everything from interactive addition tables to molecular models and more.

Explore 3D graphics. Watch calculus being done. Create your own computer-generated art. I can’t wait to see how the new methods of education, research and collaboration that the site enables take form in this exciting publishing medium. The site’s features and the collection of Demonstrations that you’ll find there now are just the beginning. I hope you enjoy what we’ve made, and that you’ll let us know any ideas you have about it.
Announcements & Events

Today, Mathematica Is Reinvented

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 […]