Mathematica – Mathematica's Design Principles

Mathematica's Design Principles

20 years of building on bold design principles make Mathematica the world's ultimate computation platform.


Automation is the key to productive computing. Unlike other systems, Mathematica applies intelligent automation in every part of the system, from algorithm selection to plot layout and user interface design. You get reliable, high-quality results without needing algorithm expertise - and even if you're an expert, you get results faster.

Download an example of Mathematica's Automation as Mathematica-Notebook
Design principle: Automation

Details for Automation in Computation

Automation in Computation Advantages of Mathematica In other systems ...
Precision Control & Tracking Reliable results without roundoff analysis Get unreliable results (or perform manual analysis)
Just-in-Time Compilation High performance in a high-level language Get slower results (or optimize manually)
Algorithm Selection Faster, better results, even for experts Use poorly suited or generic algorithms
Task Oriented Functions High-level, readable programs Programs obfuscated by algorithmic details
Type Independent Functions Easily apply existing code to new data Memorize different functions for each data type

Details for Automation in Visualization

Automation in Visualization Advantages/th> In other systems ...
Style Publication-quality graphics at every stage Manually specify colors, tick marks, etc.
Layout Maximally informative diagrams and text Manually specify plot ranges, layouts, etc.
Feature Detection Correctly visualize key features of functions Incorrect plotting of discontinuities, branch cuts, etc.
Adaptive Sampling Efficiently resolve features on different scales Missed details (or wasted function evaluations)
Interactivity Instant interactive plots and diagrams Manually program interactive elements (or use none)
Composition Compose text, images, tables, and controls Generate only simple graphics (or use separate software)

Details for Automation in Development

Automation in Development Advantages In other systems ...
Free-Form Linguistic Input Translate free-form text into precise commands (No alternative)
User Interface Construction Complete interfaces from minimal specification Manually program all aspects of user interface
Cross-Platform Deployment Intrinsically platform-independent applications Limited deployment (or manually port to each platform)
Memory Management Optimized allocation, tracking, and deallocation Manually allocate and track memory
Parallelization Zero-configuration parallelization Manual parallelization (initialization, communication, etc.)

Integrated All-in-One Platform

Specialized software and add-on toolboxes discourage the creative exploration of new ideas and areas - an even greater cost than their purchase price. Mathematica requires no add-ons. It has built-in specialized functionality for many technical areas, from computational biology to wavelet analysis, all tightly integrated with the rest of the system.

Download an example of Mathematica's Integrated All-in-One Platform as Mathematica-Notebook
Design principles: Integrated All-in-One Platform

Details for Integrated All-in-One Platform

Advantages In other systems ...
Smooth workflow from idea to deployment Change tools and formats at each stage
Own a single technical platform Regularly need costly add-on toolboxes
Learn a single technical platform Learn multiple specialized tools with limited scope
Explore ideas spanning different technical areas Creativity restricted by built-in functionality

Hybrid Symbolic-Numeric Methodology

Symbolic and numerical computation are traditionally thought of as separate, to the detriment of users. In Mathematica, they are seamlessly integrated, enabling unique hybrid methods for many problems and ensuring consistent results whenever quantities of any precision are combined.

Download an example of Mathematica's Hybrid Symbolic-Numeric Methodology
Design principles: Hybrid Symbolic-Numeric Methodology

Details for hybrid symbolic-numeric Methodology

Advantages In other systems ...
Get exact, general results whenever possible Get only numerical results, often forfeiting insight
Track roundoff errors automatically Get unreliable results (or manually track roundoff)
Use hybrid methods that exploit the mathematical structure of the input Only use less efficient generic methods

Multiparadigmen Language

No one programming style is ideally suited to every problem. Mathematica stands out from traditional computer languages by simultaneously supporting many programming paradigms, such as procedural, functional, rule-based, pattern-based, and more.

Download an example of Mathematica's Multiparadigm Language
Design principles: Multiparadigmen Language

Details for Multiparadigm Language

Advantages In other systems ...
Program the way you think Change your thinking to fit the platform
Use the best combination of techniques for the problem Operate within a single paradigm regardless of its suitability

Built-in Knowledge

Searching and updating standard datasets shouldn't interrupt your workflow. Mathematica is unique among technical computing platforms because it includes a vast collection of carefully curated data of all kinds, continuously updated and expanded.

Download an example of Mathematica's Built-in Knowledge
Design principles: Built-in Knowledge

Details for Built-in Knowledge

Advantages In other systems ...
Readily computable data built in Manually import, validate, and restructure data
Automatically keep data up to date Regularly check source for updates and corrections
Instantly access and use standard data Interrupt workflow to obtain data
Incorporate standard data that would be hard to obtain Restrict analyses to a more limited set of data

Document-Based Workflow

You shouldn't need one program to process your data, another to visualize it, and a third to interactively present it. Mathematica does everything in a single workflow, keeping all elements of a project - calculations, visualizations, data, documentation, and even interactive applications—together, in uniquely flexible documents.

Design principles: Document-Based Workflow

Details for Document-Based Workflow

Advantages In other systems ...
Automatically document as you work Save data, formulas, text, code, results, graphics, and applications in separate files and formats
Include interactivity in documents Lose intermediate steps leading to difficulty reproducing results
Easily re-target documents for web, print, and presentations and as applications Graphics and other elements must be static, not interactive
  Start from scratch when deploying to any new medium

© ADDITIVE GmbH. All rights, errors and amendments reserved.

Impressum  /  Datenschutz  /  AGB