
_START_ARTICLE_
Wolfram Mathematica
_START_SECTION_
界面
_START_PARAGRAPH_
Mathematica分为两部分：内核和前端。内核对表达式（即Wolfram语言代码）进行解释，并且返回结果表达式。_NEWLINE_前端由西奥多·格雷于1988年设计，它提供了一个允许用户创建并且编辑一个“笔记本文档”的GUI，该笔记本文档可以包含程序代码、格式化文本以及包括公式、图像、GUI组件、表格、声音在内的各种输出结果。所有的内容和格式都可以通过算法生成或者通过交互式方法进行编辑。其支持大多数标准文字处理功能，还含有一个多语种的实时拼写检查器。_NEWLINE_文档可以使用层次式单元进行结构化处理，这样便于对文档划分章节。文档也可以表示为幻灯片形式，便于进行演讲。笔记本与其内容均以Mathematica表达式的形式存储，并且可用使用Mathematica程序进行创建、编辑和修改，而且还可以转化为其它格式，比如TeX或者XML。_NEWLINE_前端包括开发工具，比如调试器、输入自动补全、以及自动语法着色。_NEWLINE_默认情况下，Mathematica使用一个标准前端，不过也有其它前端可供选择，包括Wolfram Workbench、2006年引入的基于Eclipse的IDE。它们为Mathematica提供了面向项目的开发工具，包括版本管理、调试、归档和测试。此外，Mathematica还包括一个命令行前端（Mathematica Kernel）。_NEWLINE_沃尔夫勒姆研究公司已经推出一系列初学者入门视频，介绍用户界面和引擎。
_START_SECTION_
高性能计算
_START_PARAGRAPH_
近年来，Mathematica系统已经开始支持高性能计算。在Mathmatica 5.2版本中，它已经支持自动多线程计算。2002年，gridMathematica的引入使得用户级的并行编程可以在不同的集群和多处理器系统中进行在2008年，在所有的Mathematcia许可证中囊括了并行计算技术，包括支持网格技术如Windows HPC Server 2008、Microsoft Compute Cluster Server和Sun Grid。2010年，Mathematica增加了对CUDA和OpenCL GPU硬件的支持。另外，第8版还可以生成C代码，它可以自动由系统C编译器进行编译，比如Intel C++编译器或者Visual Studio 2010编译器。
_START_SECTION_
部署
_START_PARAGRAPH_
用户可以通过多种解决方案部署使用Mathematica编写的应用程序：_NEWLINE_Mathematica Player Pro是Mathematica的“只读”版本，它可以运行任何Mathematica应用程序，但是不允许编辑或者创建Mathematica代码。此外，还有一个免费版本的Mathematica Player可以用来运行CDF格式的Mathematica程序；它也可以用来查看标准Mathematica文件，但是不能运行它们。_NEWLINE_webMathematica的网页浏览器可以作为远程Mathematica服务器的一个“前端”。它允许用户在任何平台上远程访问编写好的应用程序。但是，它不允许用户完全访问Mathematica。_NEWLINE_另外，第8版可以自动将Mathematica代码转换成可执行的C代码，这些自动生成的C代码可以在标准C编译器中进行编译，比如Intel C++ Compiler或者Visual Studio 2010的编译器。因此，从某种角度上，Mathematica代码的执行速度可以与C语言代码相媲美。
_START_SECTION_
与其他应用的链接
_START_PARAGRAPH_
Mathematica通过名为MathLink的协议与其它应用程序链接。通过该协议，Mathematica实现内核与前端的通讯，并且也提供了内核和其它应用程序之间的一个通用接口。_NEWLINE_Mathematica不但本身具有丰富的功能，而且它也提供了大量接口用以访问其它软件，从而可以方便地调用那些其它软件具有但Mathematica暂时不具备的功能。这样做可以进一步增强Mathematica的适用性。_NEWLINE_Wolfram Research发布了一个免费的开发工具包，该工具包允许C programming language编写的应用程序通过MathLink链接到Mathematica内核。_NEWLINE_使用.NET/Link，，任何一个.NET程序都可以调用Mathematica执行计算操作；相应地，Mathematica程序也可以加载.NET classes、操纵.NET对象并且执行方法调用。这样我们就可以从Mathematica内部构建.NET 图形用户界面。类似地，Mathematica也有J/Link。顾名思义，它可以用于Mathematica与Java程序之间的交互。_NEWLINE_与SQL数据库之间的通讯是通过内置的JDBC支持实现的。 Mathematica也可以从一个WSDL描述中安装网页服务。_NEWLINE_其它与Mathematica相链接的语言包括Haskell、AppleScript、PLT Scheme、Visual Basic、Python  和Clojure。_NEWLINE_在Mathematica和OpenOffice.org Calc以及Microsoft Excel之间有双向的链接。_NEWLINE_Mathematica也提供了与许多专门的数学软件包之间的链接，包括MATLAB、R 、Sage、SINGULAR、MathModelica和Origin _NEWLINE_Mathematica中的数学公式也可以与其它计算或者排版软件（比如MathML）的公式进行相互转换。_NEWLINE_Mathematica可以通过多种方式捕获实时数据，比如与LabVIEW的链接，金融数据feeds ，或者直接通过GPIB从硬件设备（IEEE 488）、USB以及串行接口获取。_NEWLINE_其他可用界面有JMath,它基于GNU readline和MASH，并利用UNIX命令行运行内置的Mathematica程序（内含参数）。