|
Develop
Programming & Development
Mathematica offers a streamlined workflow for
development projects of any size. A flexible symbolic language that
supports multiple programming paradigms, advanced debugging tools,
automatic interface construction, and more, simplify the entire
development process from design to deployment.
- Seamless development workflow: With built-in
algorithms that robustly scale up to very large problems, and many
technical areas integrated into one system, Mathematica enables a
seamless workflow from initial prototyping to the development of full
enterprise-infrastructure systems.
Unique
symbolic language: Mathematica consistently represents everything—data,
programs, formulas, graphics, documents—as symbolic expressions. This
unifying approach is possible only within Mathematica's unique symbolic
language and makes it easy to develop anything, from simple applets to
complex software systems.
Fully
customizable instant GUIs: From simple toolbars to sophisticated
palettes and complex applications, Mathematica makes developing user
interfaces easy. Interface components in Mathematica are specified in a
symbolic form, allowing their layout, control type, and connection to
variables to be determined automatically, streamlining interface
construction and shortening development time.
- Debugging and profiling: With the ability to set
different types of breakpoints, watch expressions to study code as it
runs, visually step through the execution of any program, and more,
Mathematica's integrated source-level debugger provides a high level of
flexibility to analyze and validate programs, resulting in reduced
development time.
- Mathematica packages: Mathematica packages are
reusable, redistributable, platform-independent libraries with full
support for documentation and assistant palettes. These can easily be
created from a single notebook and edited with the integrated
Mathematica package editor or Wolfram Workbench.
Unlimited
performance and scale: At the core of Mathematica's high-performance
capability is the world's largest collection of highly optimized
algorithms, many of which were invented at Wolfram Research. Combined
with the efficiency of just-in-time compilation and automatically
configured parallel computing, this ensures the right answers to even
the most demanding technical problems.
- Multiparadigm programming language: Mathematica
stands out from traditional computer languages by simultaneously
supporting many programming paradigms such as procedural, functional,
rule-based, pattern-based, object-oriented, and more. This
multiparadigm approach gets you programming the way you think, not
thinking about which way you need to program.
- Code generation and compilation: Automatic C code
generation, and compilation of the generated code from within
Mathematica, makes rapid development of production quality code easy. C
code can be compiled as standalone executables or dynamic libraries, or
used directly in other projects. Load dynamic libraries at runtime in
Mathematica for high-speed, memory-efficient execution.
- Advanced code editor: Mathematica provides powerful
source code editing with syntax highlighting, error reporting, command
completion, automatic formatting and indenting, and much more.
Integration with the multi-language IDE Wolfram Workbench provides
access to several productivity-enhancing tools such as project-based
file management, source code control, and advanced debugging and syntax
analysis.
Interactivity & Interface Design
From simple toolbars to complex applications,
Mathematica makes developing and deploying user interfaces easy. With
automatic interface construction, symbolic specification of control
elements, generalized input, and more, Mathematica offers a highly
automated and streamlined workflow for sophisticated user interface
development.
Instant interactive exploration:
With a single command, Manipulate, Mathematica instantly turns any
computation into an interactive application. Explore results, graphics,
or any Mathematica expression. In addition to mouse and keyboard input,
Manipulate automatically supports gamepads and other devices.
Dynamic
interactivity language: Mathematica's powerful Dynamic language
primitive binds the value of a variable to its setting and appearance
in controls, graphics, and any other expressions. Mathematica
efficiently tracks dependencies and updates variables automatically.
External
controllers: Mathematica allows you to immediately use external
controllers or input devices to control user interfaces, 3D graphics,
and more. Recognition and configuration of gamepads, joysticks, haptic
devices, 3D mice, and other HID systems is automatic and platform
independent.
- Automatic interface construction: Mathematica
generates user interfaces automatically, making it realistic for
non-experts to create highly sophisticated and customized interfaces.
User interfaces are specified in a direct, declarative manner in
Mathematica's flexible symbolic language, enabling you to assemble and
compute with user interfaces in the same way as any other Mathematica
expression. Mathematica automatically selects the type and layout of
controls.
Full
range of controls: Mathematica includes all standard types of controls
and interface elements such as buttons, sliders, tabbed displays,
checkboxes, popup menus, dialogs, and toolbars, as well as the ability
to create new customized controls. Advanced built-in controls include
2D locators, animators, and generalized input fields that accept
arbitrary typeset text, graphics, or other expressions.
- Automatically platform independent: Mathematica
renders controls in their native style on any platform with no extra
programming, allowing you to freely share graphical applications
without needing to know what operating system they will run on.
- Generalized input: User interface controls can
contain and display any Mathematica expression. Mathematica's flexible
text input fields automatically allow images, graphics, traditional
math in 2D notation, or whole Mathematica programs to be entered and
edited.
© Copyright 2015 Wolfram Research.


|
|