The Mathematica software engineering solution seamlessly integrates computational ability with a sophisticated development environment and a range of immediate deployment options.
Specialized tools for code refactoring, source code control, and unit testing are built in alongside automation for interface generation, algorithm selection, and architecture and performance analysis—making Mathematica the ultimate build-to-deploy environment.
Developing innovative applications
Wolfram|Alpha is powered entirely by Wolfram technologies—it is developed with Mathematica and Wolfram Workbench and deployed in webMathematica
Creating applications quickly with rapid prototype development
The Wolfram Demonstrations Project shows thousands of simple examples of quickly built dynamic applications
Using Workbench's powerful development capabilities
The package explorer and a debugging window in Wolfram Workbench, two of its many tools for managing, navigating, coding, and debugging large projects
Creating sophisticated user interfaces symbolically and programmatically
Arrange many types of built-in controls in arbitrary layouts to create any desired interface, such as this notebook history overview and polygon operations palette
Integrating easily with other tools or programs
Connect to databases, Java or C code, other kernels, or other applications
Build large-scale production systems using Mathematica's unique mix of computational ability, performance, and rapid development
Evaluate and improve your architecture before writing code, or test the performance of sections of the code before the application is fully implemented
Visualize relationships between code modules using graph plotting
Create quick prototypes or computationally complex infrastructure
Automatically turn descriptions of models into C or Fortran code
Deploy in multiple ways: the MathematicaPlayer family to share applications with anyone, webMathematica to deploy code to a web server, or other systems
Plot running time to see how it scales with input size
Automate the coding process, dramatically reducing time to delivery
"The amount of code that's required to produce the same amount of work is a fraction of the amount of code that we would have to write with other tools, so the time to delivery is much faster."
—Alan Savoy
Technical Manager and Architect, nGenera Corporation
"I think software in engineering and math should not be done like it is usually done in other programming languages. Mathematica is much richer, and there are more possibilities."