This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

Documentation / Mathematica / Add-ons & Links / J/Link / Part 2. Writing Java Programs That Use Mathematica /

2.2 What Is MathLink?

MathLink is a platform-independent protocol for communicating between programs. In more concrete terms, it is a means to send and receive Mathematica expressions. MathLink is the means by which the notebook front end and kernel communicate with each other. It is also used by a large number of commercial and freeware applications and utilities that link Mathematica and other programs or languages.

MathLink is implemented as a library of C-language functions. Using it from another language (such as Java) typically requires writing some type of "glue" code that translates between the data types and calling conventions of that language and C. At the core of J/Link is just such a translation layer—a library built using Java's JNI (Java Native Interface) specification.

Throughout this part of the manual, the term MathLink will be used in two ways—as a generic term for the capability Mathematica has to communicate with other programs, and as the name for one specific J/Link interface. It will always be written in the special font used for Java names when the interface name is being used.