The Wolfram Language is a general multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary structures and data. It is the programming language of the mathematical symbolic computation program Mathematica
Syntax:
The Wolfram language writes basic arithmetic expressions using infix operators.
(* This is a comment. *)
4 + 3
(* = 7 *)
1 + 2 * (3 + 4)
(* = 15 *)
(* Note that Multiplication can be omitted: 1 + 2 (3 + 4) *)
(* Divisions return rational numbers: *)
3 / 2
(* = 3/2 *)
Function calls are denoted with square brackets:
Sin[Pi]
(* = 0 *)
(* This is the function to convert rationals to floating points: *)
N[3 / 2]
(* = 1.5 *)
Lists are enclosed in curly brackets:
Oddlist={1,3,5}
(* = {1,3,5} *)
The language may deviate from the M-expression paradigm when an alternative, more human-friendly way of showing an expression is available:
A number of formatting rules are used in this language, including TeXForm for typeset expressions and InputForm for language input.
Functions can also be applied using the prefix expression @ and the postfix expression //.
Derivatives can be denoted with an apostrophe '.
The infix operators themselves are considered "sugar" for the function notation system.
A FullForm formatter desugars the input:
FullForm[1+2]
(* = Plus[1, 2] *)
History:
The Wolfram Language was a part of the initial version of Mathematica in 1988. Judging by MockMMA's 1991 examples, the M-expression syntax has been there ever since, as are the symbolic, functional, and pattern-matching-by-rewriting facilities. Overall, these make Wolfram a Turing complete language, with support for meta-algorithms and superfunctions. Symbolic aspects of the engine make it a computer algebra system. The language can perform integration, differentiation, matrix manipulations, and solve differential equations using a set of rules. Also there in 1988 was the notebook model and the ability to embed sound and images, according to Theodore Gray's patent. An online frontend for the language, WolframAlpha, was released in 2009. Wolfram implemented this website by translating natural language statements into Wolfram-language queries that link to its database. This frontend greatly enlarged the audience of the language, and the work leading to Wolfram Alpha also means that Wolfram's implementation of the language now has built-in access to a knowledge-base as well as natural language processing functions. Wolfram also added features for more complex tasks, such as 3D modeling. A name was finally adopted for the language in 2013, as Wolfram Research decided to make a version of the language engine free for Raspberry Pi users, and they needed to come up with a name for it. It was included in the recommended software bundle that the Raspberry Pi Foundation provides for beginners, which caused some controversy due to the Wolfram language's proprietary nature. Plans to port the Wolfram language to the Intel Edison were announced after the board's introduction at CES 2014. In 2019, a link was added to make Wolfram libraries compatible with the Unity game engine, giving game developers access to the language's high level functions
Where to Use Wolfram Programming Language
Maximum-Productivity Programming Routinely 10x faster development than with other languages A key idea of the Wolfram Language is to maximize programmer productivity by automating as much as possible and by building as much as possible directly into the language.
Algorithmically Oriented Programming Leverage Wolfram's three decades of algorithm development If you're doing algorithmically oriented programming, it simply doesn't make sense to use anything other than the Wolfram Language.
Computing with Real-World Data Real-world computing battle-tested with Wolfram|Alpha The Wolfram Language is unique in its integration of real-world constructs and entities directly into the language.
Ultra-High-Level Scripting Use the power of the Wolfram Language to script anything The symbolic character of the Wolfram Language makes it ideal for ultra-high-level scripting of external systems and languages—routinely vastly improving on existing native interfaces.
Poetic and Recreational Programming The language of elegant computation A single line of Wolfram Language code can express an immensely sophisticated computation.
High-Level Metaprogramming Manipulate big code as easily as data The symbolic character of the Wolfram Language—and its integration of computable documents—makes it an ideal choice for metaprogramming and symbolic code manipulation.
Self-Documenting Large-Scale Development The language scales well up to the largest software projects The Wolfram Language supports multi-million-line software development by large teams, with uniquely modular symbolic interfaces and integrated rich documentation capabilities.
Rapid Concept Deployment The fastest path from idea to product Through the Wolfram Universal Deployment System, the Wolfram Language provides an unprecedentedly direct path to production-scale deployment on desktop, cloud, mobile and embedded systems.
Analytics/Visualization Programming A long history of top analyses and visualizations The Wolfram Language sets the gold standard for analytics and visualization, with an unprecedented level of power and ease of use on the desktop and in the cloud.
Programming the Internet of Things Designed for ubiquitous computing of the future With its device framework, ability to handle real-world data, built-in distributed computing and both cloud and embedded implementations, the Wolfram Language is in a unique position to support the Internet of Things.
Programming Education A language worthy of today's generation of students The modern knowledge-based character of the Wolfram Language makes it uniquely suitable as a programming language, in which small amounts of code can produce remarkable results.
Exploratory/Developmental Programming Think better in the Wolfram Language With its vast built-in capabilities and document-based interactive interface, the Wolfram Language is unique in supporting an immensely productive style of exploratory and developmental programming.
Broad Multiplatform Deployments A language that describes its own deployment The Wolfram Language not only supports uniform deployment across a broad range of computational environments, but also the deployments to be described and programmed within the language itself.
Legacy Codebase Modernization Give even the oldest code a sleek modern skin The Wolfram Language offers an ideal modernizing wrapper for legacy code, providing interactive interfaces, cloud and mobile operation and state-of-the-art software modularization.
The Tech Platform
Comments