1.3.2 Differences between Computer Systems
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.
Elements of Mathematica that are exactly the same on all computer systems.
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.
Elements that can differ from one computer system to another.
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.
The same Mathematica notebook on three different computer systems. The underlying structure is exactly the same, but some details of the presentation are different.
The goal in each case is to make notebooks work in a way that is as familiar as possible to people who are used to a particular type of computer system.
And in addition, by adapting the details of notebooks to each specific computer system, it becomes easier to exchange material between notebooks and other programs running on that computer system.
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 quite separate computer.
Communications between the kernel and the front end are handled by MathLink, using whatever networking mechanisms are available.