Research Languages
(Lisp, Scheme, ML, Caml, Haskell, Prolog, Smalltalk, FP, ...)
Mathematica is by any reasonable measure the most advanced computer language currently in widespread use. With its highly general core symbolic architecture, Mathematica incorporates and extends a vast range of advanced language concepts, efficiently implementing them in a full, rich, practical environment with broad systems-level support.
While traditional research languages tend to concentrate on particular language paradigms, Mathematica integrates fully developed symbolic, rule-based, functional, declarative, procedural and other paradigms into an immediately extensible framework. Its clean, unified design leads to unprecedentedly concise and readable code—that is immediately suitable for analysis and exposition.
Crucial to most practical projects is not only Mathematica's built-in access to the world's largest web of mathematical and computational algorithms, but also its full built-in dynamic visualization capabilities, completely customizable user interface—and fully developed interactive notebook documents. Mathematica not only gives a rich and elegant notation for formal descriptions of computational concepts, but also provides a complete practical environment for investigating their consequences.
Increasingly popular in computer science education for its power, immediacy and unique ability to introduce nonexperts to advanced language concepts, Mathematica's symbolic framework allows a new level of experimentation and analysis of algorithms, programming languages, interfaces and other areas of computation.
Typical Research Language Features in Mathematica:
- Integrated support for all standard programming paradigms
- Full support for pure functions and functional programming »
- Programs and data can be treated interchangeably
- Powerful meta-circular interpreter capabilities
- Tree-based symbolic language and general data structure »
- Fully interactive environment with autocompilation, etc.
- Built-in capabilities for constructing arbitrary user interfaces »
- Full support for list, array, string, tree, and graph operations »
- Compatible on all standard and emerging computer platforms »
- Extensive language documentation, examples, books, etc.
Key Advantages of Mathematica as a Research Language:
- Industrial-strength implementation of a broad range of advanced language concepts »
- World's most advanced practical symbolic pattern matcher
- Functional reactive programming extended using the Dynamic construct
- Support for rule-based programming with easy extensibility »
- Immediate support for reflective programming
- Symbolic encapsulation mechanism »
- Arbitrary user-definable textual and graphical syntax
- Arbitrary user-interface construction fully integrated with language »
- Easy-to-understand function names for immediately publishable code
- Integrated arbitrary typesetting for math-like and other notations »
- Full integration of mathematical and computer science concepts
- State-of-the-art computational algorithms for discrete mathematics and other areas »
- Built-in equational theorem proving »
- Full built-in 2D and 3D dynamic visualization system »
- Built-in general graph and tree layout »
- Symbolic analysis of program execution histories »
- Support for interactive algorithm and program flow animation
- Complete control of evaluation semantics
- All aspects of system operation open for full customization »
- Built-in computation models (Turing machines, cellular automata, term rewriting, etc.) »
- 1000+ examples of elegant programs in The Wolfram Demonstrations Project
Interoperability with Research Languages:
- Immediate representation of lambda expressions, etc. in Mathematica »
- Symbolic rewrite functions for syntax translation »
- MathLink symbolic API allowing general connectivity to all external systems »
- Specific links available for various research languages »
Interesting Tidbits:
- Combinators can be implemented in half a line of Mathematica code
- In comparisons, Mathematica is commonly dramatically more concise than almost any other language
- Stephen Wolfram's A New Kind of Science successfully uses Mathematica as its notation throughout
See Also Analyses On: