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 impossiblenot 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.
Something to keep in mind about 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 in many cases.