There are many detailed differences between different kinds of computer systems. But one of the important features of Mathematica is that it allows you to work and create material without being concerned about such differences.
In order to fit in as well as possible with particular computer systems, the user interface for Mathematica on different systems is inevitably at least slightly different. But the crucial point is that beyond superficial differences, Mathematica is set up to work in exactly the same way on every kind of computer system.
|• The language used by the Mathematica kernel|
|• The structure of Mathematica notebooks|
|• The MathLink communication protocol|
The commands that you give to the Mathematica kernel, for example, are absolutely identical on every computer system. This means that when you write a program using these commands, you can immediately take the program and run it on any computer that supports Mathematica.
The structure of Mathematica notebooks is also the same on all computer systems. And as a result, if you create a notebook on one computer system, you can immediately take it and use it on any other system.
|• The visual appearance of windows, fonts, etc.|
|• Mechanisms for importing and exporting material to/from notebooks|
|• Keyboard shortcuts for menu commands|
Although the underlying structure of Mathematica notebooks is always the same, there are often superficial differences in the way notebooks look on different computer systems, and in some of the mechanisms provided for interacting with them.
One consequence of the modular nature of the Mathematica system is that its parts can be run on different computers. Thus, for example, it is not uncommon to run the front end for Mathematica on one computer, while running the kernel on a separate computer.
Communications between the kernel and the front end are handled by MathLink.