Site last modified: Sun Dec 27 16:00:15 2009

About Mathematica

Mathematica is a software package made by Wolfram Reasearch International (WRI) which brings together a number of aspects of technical computing in one package. One of its key advantages over similar software is that it is built on an extremely uniform set of underlying principles. This means that a little bit of time spent studying Mathematica takes you a very long way indeed. Read more details here .

Recently, Wolfram Research introduced Mathematica 6.0 followed by 7.0. 6.0 was a major release – perhaps the most significant change was that graphics can be totally interactive – rotatable with the mouse, varying under the action of sliders, and adjustable in a host of other ways. Imagine, for example, taking a typical geometry construction and moving the points to explore the remaining degrees of freedom. If at all possible, upgrade to version 7.0 (which obviously includes the improvements made at version 6.0).

Press the button on the sidebar to obtain more 6.0/7.0 specific ideas and information, and to obtain a short program by Thomas Muench, that assembles an electronic version of the Mathermatica book for 6.0, analogous to the fat physical book that accompanied previous version of the software.

Using the Java GUI

The primary mode of interaction with Mathematica is via notebooks. These are optimised for interactive mathematical development, and since version 6.0, these can be very interactive indeed! However, a Mathematica notebook is never going to have the "look and feel" of a normal (e.g. Windows) application. Because Java runs on all the platforms that support Mathematica, and because J/Link provides a good interface between Java and Mathematica, a Java-based GUI is the obvious choice.

My free Super Widget Package – available Here – simplifies the creation of a wide variety of Java GUI interfaces. These interfaces are far more flexible and robust than the standard GUIKit package that is supplied with Mathematica.

The Super Widget Package used to be based on the GUIKit – and so shares some superficial similarities – but since SWP version 4.0, it does not use the GUIKit internally. This has brought greater stability and flexibility. For example, using the latest SWP software, you can build an interface analous to Microsoft Word. This permits multiple sets of data (documents, graphics, equations, etc.) to be viewed in separate moveable windows with a master window with a menu bar and other controls.

An exciting feature of the new SWP, is that it is designed to work either in a normal notebook environment, or in a kernel-only mode. The development can happen in a notebook, and the result can be deployed using kernel only mode. The result can be applications that run without Mathematica being visible.

An experimental debugger

As some of you will recall, I developed a Mathematica debugger called M-Debug in the days before Mathematica included its own debugger. I did not update this debugger to cope with the changes at version 6.0 because this version included its own debugger. However, in my opinion the built-in debugger is less effective than it could be, and is not really suited to the needs of the beginner. I am developing a new Mathematica debugger as an experimental project You can read more about this project, and download here the latest version of my free, experimental debugger called DebugTrace.

DebugTrace operates in a very different way from M-Debug (which used TraceScan), or the built-in debugger (which uses internal mechanisms). It modifies the code before it reaches the kernel to provide the hooks necessary to debug it.

Interfacing with the documentation center

In the course of creating DebugTrace, I discovered how to interface the documentation with the Documentation Center without using the Wolfram Workbench (I prefer to work directly in the frontend). Since this information is probably of use to other developers, I have made it available here .