Wolfram Language & System 11.0 (2016)|Legacy Documentation

This is documentation for an earlier version of the Wolfram Language.View current documentation (Version 11.2)

The Structure of the Wolfram System

The Wolfram System is a modular software system in which the kernel, which actually performs computations, is separate from the front end, which handles interaction with the user.

The Wolfram Language kernelthe part that actually performs computations
The Wolfram System front endthe part that handles interaction with the user

The basic parts of the Wolfram System.

Such a design has many advantages over a monolithic system. For instance, the Wolfram System front end could be run on a local computer with enhanced graphics capabilities while the Wolfram Language kernel might be run on a faster remote computer. Or, multiple kernels could be run from a single front end.

The most common way to work on the Wolfram System is to use interactive documents known as notebooks. Notebooks mix Wolfram System input and output with text, graphics, palettes, and other material. You can use notebooks either for doing ongoing computations, or as a means of presenting or publishing your results.

Other common Wolfram System interfaces include the text-based interface and the Wolfram Symbolic Transfer Protocol (WSTP) interface.

Notebook interfaceinteractive documents
Textbased interfacetext from the keyboard
WSTP interfacecommunication with other programs

Common kinds of interfaces to the Wolfram System.

An important aspect of the Wolfram System is that it can interact not only with human users but also with other programs. This is achieved primarily through WSTP, which is a standardized protocol for twoway communication between external programs and the Wolfram Language kernel.

Among the many WSTPcompatible programs that are now available, some are set up to serve as complete front ends to the Wolfram System. Often such front ends provide their own special user interfaces, and treat the Wolfram Language kernel purely as an embedded computational engine.