I am trying to figure out what the announcement of the Wolfram Language means for Mathematica.

Is Mathematica an implementation of the Wolfram Language, or is it something else?

  • 31
    $\begingroup$ Oh, dear. He really did name the language after himself. He proposed it in a previous blog entry but there were plenty of names to use instead of that. $\endgroup$ – Peltio Nov 21 '13 at 19:02
  • 56
    $\begingroup$ @Peltio It's A New Kind of Name :D $\endgroup$ – rm -rf Nov 21 '13 at 19:03
  • 21
    $\begingroup$ @rm-rf You won an un-invitation for the next W-Conference $\endgroup$ – Dr. belisarius Nov 21 '13 at 19:07
  • 20
    $\begingroup$ ... negative in particular about the new cloud features) is still M, and I'll always refer to it as M. Internally the employees were instructed about half a year ago to only refer to it as the "Wolfram Language" henceforth, but for me, until I die, it will always be "Mathematica" for me. Has been since 93. I see it as an ill-conceived attempt to rename M with something that bears Stephen's name. Already since M5 it has always been "Wolfram Mathematica" (see the marketing materials, for example), before M5 it was always simply "Mathematica". $\endgroup$ – Andreas Lauschke Nov 21 '13 at 19:44
  • 20
    $\begingroup$ Basically, this question is off topic here, because this site is about Mathematica and not about some weird "new and different kind of language" which no ones has seen so far! ;-) $\endgroup$ – halirutan Nov 21 '13 at 22:51

The Wolfram Language is what we all know as Mathematica, but rebranded to help wider adoption to people, particularly for people who don't think of themselves as "math" people. As a Mathematica programmer, emphasis on the "programmer", I see this as a good thing.

  • 3
    $\begingroup$ I think the "Wolfram System" is the term now used to describe what we currently think of as Mathematica. The term "Wolfram Language" is the language in which you write code in the "Wolfram System", or what we currently call (loosely) the Mathematica language, rather than the whole shebang - FrontEnd, Kernel, etc.. Still, that's just me guessing - I know nothing. :) $\endgroup$ – cormullion Nov 26 '13 at 20:18
  • 2
    $\begingroup$ Is it correct to say that on the Raspberry Pi "Wolfram Language" is a command line interface (just the kernel) and "Mathematica" is Kernel + Front End? This is my impression, but I don't have a Pi at the moment, so I can't try! $\endgroup$ – Szabolcs Nov 26 '13 at 20:22
  • 6
    $\begingroup$ @cormullion They probably considered WolframFrontEnd and WolframBackEnd for the FE & kernel, but were wise enough to see why that might be a bad idea... :D Oh, all the missed opportunities. $\endgroup$ – rm -rf Nov 26 '13 at 20:27
  • 5
    $\begingroup$ I see it as a backstep. The name "Mathematica" is absolutely great for it. $\endgroup$ – Andreas Lauschke Nov 27 '13 at 0:53
  • 1
    $\begingroup$ The answer does not seem to be quite accurate. "The Wolfram Language" is not a new name for Mathematica. Rather, The Wolfram Language is a language that is implemented in the product Mathematica. But it is also implemented in other Wolfram Research products. $\endgroup$ – murray Aug 22 '14 at 20:01

Clarifications about the Raspberry Pi version

tl;dr The programs started by the "Mathematica" and "Wolfram" icons in Raspbian have the same capabilities and the same back end. Only the user interface differs.

As of 2014 June, the Raspbian operating system (of the Raspberry Pi computer) comes with Mathematica pre-installed. There are two related icons on the desktop, "Mathematica" and "Wolfram".

enter image description here

To understand the difference between these two, one needs to understand the architecture of Mathematica first. Mathematica uses two processes:

  • One that displays the GUI and the notebook interface. This has traditionally been known as the Mathematica Front End.

  • One that does the actual computations. This used to be known as the Mathematica Kernel.

These two processes are independent but they rely on each other:

The Front End can show notebook documents without the kernel, but all computations must be sent to a running kernel for evaluation.

The Kernel can be run alone and used in command line mode. However, certain functions, such as exporting graphics, do require the Front End. When exporting graphics, the Front End is launched in the background without displaying anything on screen, and the graphics object is sent to it for rendering. (This is why exporting graphics requires a running X server--use Xvfb on headless machines.)

Somewhat confusingly, in Raspbian the icon that starts the Front End is called "Mathematica" and the icon that starts the Kernel in command line mode is called "Wolfram", suggesting that they will start different systems. Other then using a notebook interface or a traditional command line for input, these two are identical. The have exactly the same computational capabilities.

This information is valid as of June 2014.


I think that giving the language we use in Mathematica a name ("W", or whatever), and establishing it as separate from the Mathematica Interface is a step in the right direction. Mathematica is "Visual Wolfram" (arg) or something like that - an interactive interface for TWL. It has a REPL, renders graphics, formats tables, grids, etc.. That's not TWL - that's an environment it runs in.

The front end displays plots and graphics from the kernel, but something else could do the same thing. If you look inside the expression returned from evaluating Plot[...], the stuff you see isn't "The Wolfram Language" - it's data from the kernel, to be displayed. Splitting out TWL paves the way for other platforms (like in Rasberry Pi), and perhaps someday something like a compiler.

  • 7
    $\begingroup$ What the heck is a TWL? $\endgroup$ – István Zachar Dec 11 '13 at 13:26
  • 5
    $\begingroup$ If you're not kidding, The Wolfram Language $\endgroup$ – George Wolfe Dec 13 '13 at 6:06
  • $\begingroup$ No, I wasn't kidding, I could not figure out the "The" and thought it is something more general. Thanks for the clarification! $\endgroup$ – István Zachar Dec 13 '13 at 7:43

The Wolfram language is more an informal abstraction than an implementation of Mathematica.

A formal or normative definition does not exist yet after many years but three important events have occurred.

Stephen Wolfram's book "An elementary introduction to the Wolfram language" introduces the language as a more expressive extension of natural language.

We will know that Mathematica is an implementation of the Wolfram language when we see another implementation. Maybe Mathics?

One important part of Mathematica, the front end (user interface), is neatly independent of the Wolfram language and seems to be actually replaceable by the Jupyter notebook.


By analogy with Python for example, I suggest that the Wolfram language be everything that can be interpreted in the command line. e. g. wolfram on the Raspberry pi or mathematica on other machines.

That includes some functions used almost only by the front end like ToBoxes.

So Mathematica would be the most popular interface or working environment for the Wolfram language. Others are the Unix terminal, Wolfram Alpha, WebMathematica, the Wolfram Workbench and maybe the Jupyter notebook.

Finally I propose this answer : NO Mathematica is not an implementation of the Wolfram language but it is a package of a working environment for the Wolfram language on top of the Wolfram language itself.

There are still problems of definition :

  • sometimes the Wolfram language grows by downloading over the internet from Wolfram Research. Versioning is not very meaningful. Are datasets included? Are numerical libraries included? Which ones?

  • the definition is not universal: you can't reproduce the Wolfram language in your own lab, independently of a company or a device, that is just like the definition of physical units before the metric system,

  • Dynamic does not work in the command line, it is not part of the Wolfram language. (Indeed it runs in the front end.) Same for Manipulate, CreateDocument.

  • $\begingroup$ Was this not intended as an edit of your other answer? $\endgroup$ – J. M.'s torpor Apr 17 '20 at 15:17
  • $\begingroup$ Yes but the old answer might be useful too. I leave it up to you $\endgroup$ – Pierre ALBARÈDE Apr 17 '20 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.