Scripting Languages
(Perl, Python, Ruby, PHP, JavaScript, ...)
Long popular as a scripting language in the advanced R&D community, Mathematica is considered by many to be the world's single most productive programming language—combining a uniquely powerful multiparadigm approach to programming with built-in access to the world's largest web of advanced algorithms.
Built on powerful core principles—tested over the course of over two decades on the world's most sophisticated and abstract problems—Mathematica allows almost any computation to be expressed more clearly and more concisely than any other language. While some of its long-standing features—such as dynamic typing, auto-vectorization, tree manipulation and higher-level functional programming—have now begun to appear in other languages, Mathematica's unique symbolic handling of programs and data sets it fundamentally apart, and has allowed it to make a series of important and unique language advances.
The breadth and depth of the Mathematica system provides many crucial advantages for scripting—from routine application of world-class algorithms to immediate integrated visualization, sophisticated interface creation, full integration with modern computing environments, rich access to data in a wide range of formats, integration of editing, debugging and documentation—and the ability to go smoothly from small one-off tasks to large organized production systems.
Standard Scripting Language Features in Mathematica:
- Elegant, expressive, easy-to-learn programming language »
- Efficient interpreter with autocompilation, automatic data packing, etc.
- General list and array programming with high-level primitives »
- Efficient string manipulation with Perl-style regular expression support »
- XML integration and full web interoperability »
- Batch mode, command line and graphical interface available »
- Fully compatible on all computer platforms »
- Large diverse programming community
- Many books and two journals available on Mathematica programming
- Core interpreter with fast startup and small memory footprint
- Integrated high-level debugger »
- Mathematica Player free runtime environment
- Award-winning Eclipse-based IDE available »
Key Advantages of Mathematica as a Scripting Language:
- Functional, rule-based, procedural and other programming styles all integrated
- Uniform representation of all data, programs, interfaces, etc. as symbolic expressions
- Typeless language designed for manipulation of arbitrarily nested and complex data
- Unique structural pattern matcher, allowing flexible case-based programming
- Highly readable code with consistent, easy-to-understand, function names
- Advanced semantics-aware built-in code editor
- Notebook paradigm integrating code editing, testing and documentation
- Immediate access to the world's largest web of advanced algorithms
- Built-in full-function dynamic 2D and 3D visualization »
- Built-in immediately programmable interface construction »
- Rich multiformat file manipulation, with metadata and scraping capabilities »
- Importing and exporting of hundreds of data, graphics, web and document formats »
- Web page generation and scraping »
- Integrated support for standard systems formats (Apache log, mbox, etc.) »
- Built-in database connectivity, with convenient symbolic data representation »
- Built-in dynamic access to curated real-world data sources »
- 20-year history of language stability and progressive development »
- Award-winning documentation, including 50,000+ immediately usable examples
- Support for modern distributed computing environments »
Interoperability with Scripting Languages:
- Uniform MathLink symbolic API for connection to arbitrary systems and languages »
- Support for interchange of arbitrary data structures and programs
- Automatic immediate access to Java and .NET programs »
- Easy source-level interoperability with C, C++, etc.
- Extensive support for web services and related technologies »
- webMathematica for full web deployment
- Perl, Python, etc. MathLink bindings available
- Integration with AppleScript and Automator
Interesting Tidbits:
- Wolfram Research's complete software engineering system is based on Mathematica
- Wolfram Research's websites are scripted in Mathematica
- All Mathematica's documentation (on-web and in-product) is created with Mathematica
- The Wolfram Demonstrations Project contains 1000+ examples of short Mathematica programs
- Mathematica makes possible "live programming", which is becoming popular as a "performance art"
- Creators of several modern scripting languages first learned Mathematica
See Also Analyses On:
- Programming Languages
- Research Languages
- Report Generation
- Document Processing Systems
- Interface Building Systems