# What's the Difference Between WolframLang, Mathematica, WolframEngine, WolframScript

**WolframLang**is the programing language.**Mathematica**is the old name. It refer to both the WolframLang and the App. (the app now comes in various forms. Wolfram Desktop is standalone software on PC, there's also on phone, or via cloud Wolfram Cloud.)

**Wolfram Engine**is the engine that runs WolframLang.**WolframScript**is a command line interface app to WolframLang. You run it in terminal, like bash python ruby etc. WolframScript comes with Wolfram Engine and Wolfram Desktop.

**Mathematica Notebook**or**Wolfram Notebook**, is a GUI interface app to WolframEngine. It display 3D graphics or play sound or has interactive buttons. You get the Notebook from buying Mathematica or Wolfram Desktop.

- Traditionally, Mathematica has 2 parts: the
**Mathematica Kernel**and the**Mathematica Frontend**. **Mathematica Kernel**is basically Wolfram Engine. It does the computation of Wolfram Language.**Mathematica Frontend**is the Notebook. It talks to the kernel.

## About the Wolfram Notebook

The Notebook, is the GUI app, can display graphics, or rotate graphics, press buttons, sliders, math typesetting, organized presentation like html, play sound from functions, etc. One can think of it as IDE for Wolfram Language.

However, the entire notebook, is just a plain ASCII text file, of Wolfram Language. No special formatting. It is pure Wolfram Language, one giant single nested Wolfram Language expression.

When one use the notebook to open a Wolfram Language code that represent notebook, the notebook frontend renders them in a particular way, very much like how browser renders html. So, Wolfram Language is like html or TeX, while the notebook is like browser. This is also similar to org mode code in emacs.

For example, if you use emacs to open a notebook, you'll see this:

`Notebook[{Cell[...], Cell[...], ...}]`

The
`Notebook`

,
`Cell`

are both just Wolfram Language functions.

WolframLang is like html+css+js, and notebook is like browser. It is the WolframLang, that controls everything. like how discord is the electron engine which is just a google chrome browser, with JavaScript code controlling everything. Also, lisp to emacs, is like WolframLang to notebook.