Wolfram Language
Wolfram Language est un langage de calcul multi-paradigme[2] général développé par la société Wolfram Research. Ce langage est utilisé pour le calcul symbolique, la programmation fonctionnelle et la programmation basée sur des règles et il peut utiliser des structures et des données arbitraires.[3]
Wolfram Language | |
Date de première version | 1988 |
---|---|
Développeur | Stephen Wolfram |
Dernière version | 13.1.0 - 29 juin 2022[1] |
Influencé par | APL C C++ Fortran Lisp Pascal Prolog Simula Smalltalk Symbolic Manipulation Program (en) |
Licence | propriétaire (disponibles gratuitement pour certaines plateformes) |
Site web | https://www.wolfram.com/language/ |
Extension de fichier | m, wl, nb, cdf et wls |
Histoire
Wolfram Language est un langage de calcul multi-paradigmes général développé par Wolfram Research[4]. C'est également le langage de programmation de Mathematica[5] (programme de calcul symbolique mathématique) et du Wolfram Programming Cloud. Il est utilisé pour le calcul symbolique, la programmation fonctionnelle et la programmation basée sur des règles et il peut utiliser des structures et des données arbitraires[6].
Ce langage comprend des fonctions intégrées pour générer et exécuter des machines de Turing, créer des graphiques et du son, analyser des modèles 3D, des manipulations matricielles et résoudre des équations différentielles. Il est largement documenté[7].
Wolfram Language possède des principes fondamentaux qui le différencient des autres langages de programmation : une base de connaissances intégrée[8], l'automatisation sous la forme de méta-algorithmes et de superfonctions, une compréhension du langage naturel intégrée...
En 2019, les bibliothèques de Wolfram sont devenues compatibles avec le moteur de jeu Unity, donnant ainsi aux développeurs de jeux un accès aux fonctions de haut niveau du langage.
Principe de base
Le principe de fonctionnement du langage Wolfram repose sur la manipulation d' expressions symboliques de la forme :
Head[arg1, arg2, ...]
où Head, arg1, arg2 ... sont elles-mêmes d'autres expressions ou des symboles génériques telles que des chaînes de caractères, des identificateurs, des nombres ou, lorsque l'environnement de programmation le permet, des images. Ce concept est similaire à celui définissant les S-expressions.
Certaines expressions symboliques sont interprétées comme des règles de transformations d'autres expressions symboliques. Par exemple l'expression Rule[foo, bar]
est une règle de transformation qui consiste à remplacer toute occurrence du symbole foo
dans une expression par le symbole bar
. Le langage associe certaines règles à certains symboles, et permet à l'utilisateur de définir ses propres associations, ce qui procure un mécanisme équivalent à la définition d'une routine ou d'une procédure.
L'application successive de ces règles de transformation constitue le concept unificateur qui sous-tend le paradigme de programmation symbolique du langage[9], le rendant assez proche du lambda calcul ou d'autres langages fonctionnels tels que Lisp. Plus généralement il s’agit d’un système dit de réécriture.
Syntaxe
Si dans l'absolu le langage Wolfram interprète tout programme informatique comme une expression symbolique, le langage est toutefois muni d'une riche syntaxe facilitant leur visualisation ou leur saisie.
Par exemple les listes, qui dans le langage Wolfram sont représentées par des expressions symboliques ayant pour "Head" le symbole List
, peuvent aussi être représentées par des accolades. Ainsi les deux lignes ci-dessous représentent la même expression symbolique :
List[a, b, c] {a, b, c}
La représentation d'une expression symbolique sous sa forme exacte est la forme dite complète (FullForm
). La représentation par défaut est la forme dite standardisée (StandardForm
) qui incorpore en général les raccourcis syntaxiques tels que celui susmentionné.
Voir également
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Wolfram Language » (voir la liste des auteurs).
- « Bref historique des révisions de Wolfram Language —Wolfram Research », (consulté le )
- « Version 12 Launches Today! (And It’s a Big Jump for Wolfram Language and Mathematica)—Stephen Wolfram Blog », sur web.archive.org, (consulté le )
- (en) « Wolfram Language: Programming with Built-in Computational Intelligence », sur www.wolfram.com (consulté le )
- (en) « Wolfram: Computation Meets Knowledge », sur www.wolfram.com (consulté le )
- (en) « Wolfram Mathematica: Modern Technical Computing », sur www.wolfram.com (consulté le )
- (en) « Wolfram Language Usage Scenarios », sur www.wolfram.com (consulté le )
- « Wolfram Language & System Documentation Center », sur reference.wolfram.com (consulté le )
- (en) « Wolfram Knowledgebase: Making the Knowledge of the World Computable », sur www.wolfram.com (consulté le )
- (en)Expressions, guide des expressions dans le centre de documentation du langage
- Portail du logiciel