Skip to main content
2 of 5
improve wording
ilian
  • 25.5k
  • 4
  • 117
  • 187

These two small programs -- math.exe is the same as wolfram.exe, and MathKernel.exe is the same as WolframKernel.exe -- are kernel loaders, which provide an interface to the same main kernel code residing in the dynamic library WolframEngine.dll (also known as mathdll.dll in versions prior to 10.1.0).

Both accept the same command line options as documented for wolfram and WolframKernel. The main difference is that wolfram.exe is a console application, while WolframKernel.exe is a GUI, windowed application offering some basic copy and paste, font selection and scrolling functionality.

The standard behavior of the Windows OS is that upon launching a console application, it is attached to the console of the parent process (for example, cmd.exe) if present, otherwise a new console is created. That is not the case for GUI applications, which by default run without a console, and therefore do not have stdin, stdout and stderr.

While the latter is not impossible to code around, it is hardly necessary in this case, as wolfram.exe is provided as a true console application suitable for scripting purposes.

The kernel launchers organization is slightly different on other operating systems: on Linux, math/wolfram/MathKernel/WolframKernel are all the same shell script, which launches the kernel loader binary. On MacOS X, there is only a MathKernel/WolframKernel binary loader. Another difference is that the script interpreter, WolframScript (previously known as MathematicaScript) does not exist on Windows.

Perhaps it may be considered a weakness in the documentation that it is the same on all platforms, and so is written as much as possible in a general and platform-independent manner, without delving into OS specifics.

ilian
  • 25.5k
  • 4
  • 117
  • 187