This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
Package Development
Mathematica is to its core a fundamentally extensible system, in which efficient, modular, reusable packages of any size can readily be created. Mathematica's symbolic program and interface architecture allows it to provide a uniquely flexible modern software development environment with many important original features.
Module localize names of variables
Block localize values of variables
DynamicModule localize interface constructs
BeginPackage, EndPackage set up namespaces for a package
Begin  ▪ End  ▪ $ContextPath  ▪ $Packages  ▪ Names  ▪ CellContext  ▪ ...
Package Loading & Saving
Needs load a package if needed
Save save definitions for symbols & functions
DeclarePackage  ▪ DumpSave  ▪ Encode  ▪ ...
Options  ▪ SetOptions  ▪ OptionsPattern  ▪ OptionValue  ▪ ...
Message  ▪ MessageName ( ▪ Check  ▪ Assert  ▪ Quiet  ▪ ...
Syntax Coloring
SyntaxInformation specify automatic syntax annotation
Package Editing
FileNewPackage (.m) create a package file to edit as a notebook
Packages from Notebooks
Initialization Cell define a cell to be used as initialization
Notebook History show editing history of a notebook
Object-Oriented Definition
UpSet (^=) — associate a definition with an inner construct
TagSet (/: ... =) — associate a definition with any construct
Protect  ▪ AbortProtect  ▪ $VersionNumber  ▪ $SystemID  ▪ BlockRandom  ▪ ...
MathematicaScript run standalone executable scripts
$ScriptCommandLine script command-line arguments