International Essays |
Des nouveautés partout : lancement de la version 14.3 de Wolfram Language et Mathematica
Des nouveautés partout : lancement de la version 14.3 de Wolfram Language et Mathematica
5 août 2025
C'est une version majeure
C'est une version majeure
La version 14.2 a été lancée le 23 janvier 2025. Aujourd’hui, un peu plus de six mois plus tard, nous lançons la version 14.3. Et malgré sa désignation .x modeste, il s’agit d’une version majeure, avec de nombreuses nouvelles fonctionnalités importantes et mises à jour, en particulier dans les domaines essentiels du système.
Je suis particulièrement heureux de pouvoir annoncer que, dans cette version, nous proposons un nombre exceptionnellement élevé de fonctionnalités attendues depuis longtemps. Pourquoi ne sont-elles pas arrivées plus tôt ? Eh bien, elles étaient difficiles à réaliser, du moins selon nos normes. Mais désormais, elles sont là, prêtes à être utilisées par tout le monde.
Ceux qui ont suivi nos révisions de conception logicielle diffusées en direct (42 heures depuis la version 14.2) peuvent se faire une idée des efforts que nous investissons pour concevoir les choses correctement. En fait, nous fournissons régulièrement ce type d’effort depuis près de quatre décennies : depuis que nous avons commencé à développer la version 1.0. Et le résultat est, selon moi, quelque chose de totalement unique dans le monde du logiciel : un système cohérent et homogène de bout en bout, qui a maintenu sa compatibilité pendant 37 ans.
C’est un système très vaste maintenant, et même moi, il m’arrive parfois d’oublier certaines des choses extraordinaires qu’il peut faire. Mais ce qui m’aide désormais régulièrement à ce sujet, c’est notre Notebook Assistant, sorti à la fin de l’année dernière. Si j’essaie de comprendre comment faire quelque chose, il me suffit simplement de taper une description vague de ce que je veux dans le Notebook Assistant. Notebook Assistant est alors étonnamment efficace pour « clarifier » ma demande et produire des éléments pertinents de code Wolfram Language.
J’étais souvent trop vague pour que ce code soit exactement ce que je voulais. Mais il me met presque toujours sur la bonne voie et, avec de petites modifications, il finit par être exactement ce dont j'ai besoin.
C’est un flux de travail très efficace, rendu possible grâce à la combinaison de l’IA la plus récente avec les caractéristiques uniques de Wolfram Language. Je pose une question vague. Notebook Assistant me fournit un code précis. Mais l’élément crucial, c’est que ce code n’est pas un code de langage de programmation, c’est un code de langage computationnel en Wolfram Language. Un code spécifiquement conçu pour être lu par des humains et pour représenter le monde de manière computationnelle au niveau le plus élevé possible. L’IA va se comporter de la manière heuristique propre aux IA. Mais lorsque vous sélectionnez le code Wolfram Language qui vous convient, vous obtenez quelque chose de précis sur lequel vous pouvez vous appuyer et construire quelque chose.
Il est incroyable de constater à quel point la cohérence de la conception de Wolfram Language est importante à de nombreux égards. C’est ce qui permet aux différentes facettes du langage d’interagir de manière si fluide. C’est aussi ce qui facilite l’apprentissage de nouveaux domaines du langage. Et, de nos jours, c’est également ce qui permet aux IA d’utiliser efficacement le langage, en y faisant appel comme à un outil, tout comme le font les humains.
Le fait que Wolfram Language soit si cohérent dans sa conception, et qu’il intègre autant de fonctionnalités, a une autre conséquence : ça signifie qu’il est facile d’y ajouter des éléments. Et au cours des 6 dernières années, plus de 3 200 fonctions additionnelles impressionnantes ont été publiées dans Wolfram Function Repository. Et, oui, un certain nombre de ces fonctions pourraient finir par évoluer en véritables fonctions intégrées, parfois après une décennie ou plus. Mais ici et maintenant, Notebook Assistant les connaît sous leur forme actuelle, et peut automatiquement vous montrer où elles pourraient s’intégrer dans ce que vous êtes en train de faire.
D’accord, mais revenons à la version 14.3, où il y a beaucoup à dire…
Passage au sombre : l’arrivée du mode sombre
Passage au sombre : l’arrivée du mode sombre
J’ai commencé à utiliser des ordinateurs avec des écrans en 1976. À cette époque, chaque écran était noir, et le texte affiché était blanc. En 1982, lorsque les ordinateurs de type « stations de travail » sont apparus, la tendance s’est inversée et j’ai commencé à utiliser des affichages qui ressemblaient davantage à des pages imprimées, avec du texte noir sur fond blanc. Et c’est ainsi que les choses ont fonctionné, pendant plusieurs décennies. Puis, il y a un peu plus de cinq ans, le « mode sombre » a commencé à devenir populaire, et on est revenu aux écrans typiques des années 1970, bien sûr maintenant en couleur, avec une résolution bien plus élevée, etc. Nous proposons des « styles mode sombre » dans les notebooks depuis longtemps. Mais désormais, avec la version 14.3, nous offrons une prise en charge complète du mode sombre. Et si vous configurez votre système en mode sombre, alors dans la version 14.3, tous les notebooks s’afficheront automatiquement en mode sombre par défaut :
Vous pourriez penser : n’est-ce pas plutôt trivial de configurer le mode sombre ? Il suffit simplement de changer le fond en noir et le texte en blanc, non ? Eh bien, en réalité, il y a bien, bien plus que cela. Et au final, c’est un défi pour l’interface utilisateur, et algorithmique, assez complexe, que nous avons maintenant résolu de manière très élégante dans la version 14.3, je pense.
Voici une question simple : que doit-il arriver à un tracé lorsque vous passez en mode sombre ? Vous souhaitez que les axes deviennent blancs, mais que les courbes conservent leurs couleurs (sinon, qu’arriverait-il au texte qui fait référence aux courbes selon leur couleur ?). Et c’est exactement ce qui se passe dans la version 14.3 :
In[]:=
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
In[]:=
Plot[{Sin[x],Cos[x],Tan[x]},{x,0,10}]
Inutile de préciser qu’un point délicat est que les couleurs des courbes doivent être choisies de façon à être agréables à la fois en mode clair et en mode sombre. Et en fait, dans la version 14.2, lorsque nous avons « rafraîchi » nos couleurs par défaut pour les tracés, nous l’avons fait en partie précisément en prévision du mode sombre.
Dans la version 14.3 (comme nous en discuterons ci-dessous), nous avons continué d’améliorer les couleurs des graphiques, en couvrant de nombreux cas complexes, et en veillant toujours à prendre en compte le mode sombre ainsi que le mode clair :
In[]:=
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
In[]:=
ArrayPlot3D[Total[CellularAutomaton[<|"Dimension"3,"GrowthCases"{1,2,3}|>,{{{{1}}},0},15]]]
Mais les graphiques générés par le calcul ne sont pas le seul type d’élément affecté par le mode sombre. Il y a aussi, par exemple, une multitude d’éléments d’interface utilisateur qui doivent tous être adaptés pour bien apparaître en mode sombre. Au total, des milliers de couleurs sont concernées, devant toutes être traitées de façon cohérente et esthétique. Et pour cela, nous avons finalement inventé toute une gamme de méthodes et d’algorithmes (que nous rendrons à terme disponibles à l’extérieur sous forme de paquet).
Et le résultat, par exemple, est que quelque chose comme le notebook peut essentiellement être configuré automatiquement pour fonctionner en mode sombre :
Mais que se passe-t-il en coulisses ? Inutile de préciser qu’il existe une représentation symbolique impliquée. En général, vous spécifiez une couleur, par exemple avec [1,0,0]. Mais dans la version 14.3, vous pouvez utiliser une représentation symbolique à la place telle que :
In[]:=
LightDarkSwitched[Red,LightBlue]
En mode clair, ça s’affichera en rouge ; en mode sombre, en rose :
In[]:=
Style["Text",25,LightDarkSwitched[Red,Pink]]
Et oui, il bascule en mode sombre :
Comment cela se rapporte-t-il à l’IA ? Connexion avec le monde agentique
Comment cela se rapporte-t-il à l’IA ? Connexion avec le monde agentique
Faites simplement un ajustement là-dessus !
Faites simplement un ajustement là-dessus !
Les cartes deviennent plus belles
Les cartes deviennent plus belles
Tout a un mode sombre :
Un rouge amélioré : présentation des nouvelles couleurs nommées
Un rouge amélioré : présentation des nouvelles couleurs nommées
Encore plus d’améliorations pour les graphiques
Encore plus d’améliorations pour les graphiques
Algèbre non commutative
Algèbre non commutative
Dessinez sur cette surface : l’annotation visuelle des régions
Dessinez sur cette surface : l’annotation visuelle des régions
Calcul et visualisation de la courbure
Calcul et visualisation de la courbure
Géodésiques et planification de trajectoire
Géodésiques et planification de trajectoire
Géométrie à partir de la subdivision
Géométrie à partir de la subdivision
Ou en 3D :
Réparez ce maillage !
Réparez ce maillage !
Coloriez cette molécule, et bien plus encore
Coloriez cette molécule, et bien plus encore
Et voici une version 3D :
Les protéines se replient, localement
Les protéines se replient, localement
On voit maintenant les structures ensemble :
Est-ce que ce système d’ingénierie va-t-il réellement fonctionner ?
Est-ce que ce système d’ingénierie va-t-il réellement fonctionner ?
Fluidification de nos flux de travail de systèmes de contrôle
Fluidification de nos flux de travail de systèmes de contrôle
Disposition hyperbolique dans la mise en page des graphes
Disposition hyperbolique dans la mise en page des graphes
Les dernières avancées en calcul infinitésimal : transformées de Hilbert, fonctions de Lommel
Les dernières avancées en calcul infinitésimal : transformées de Hilbert, fonctions de Lommel
Davantage d’options dans le monde des matrices
Davantage d’options dans le monde des matrices
With[ ] passe à plusieurs arguments
With[ ] passe à plusieurs arguments
Cyclic[ ] et les listes Cyclic
Cyclic[ ] et les listes Cyclic
Nouveauté dans Tabular
Nouveauté dans Tabular
Mise en forme du tabulaire
Mise en forme du tabulaire
Classement sémantique, extraction de caractéristiques textuelles et tout le reste
Classement sémantique, extraction de caractéristiques textuelles et tout le reste
Fonctions compilées pouvant être mises en pause et reprises
Fonctions compilées pouvant être mises en pause et reprises
Calcul externe encapsulé plus rapide et plus fluide
Calcul externe encapsulé plus rapide et plus fluide
Des notebooks pour les présentations : le défi du format d’aspect pour les images résolu
Des notebooks pour les présentations : le défi du format d’aspect pour les images résolu
Encore plus de peaufinage pour l’interface utilisateur
Encore plus de peaufinage pour l’interface utilisateur
Markdown !
Markdown !
Nouveau dans la documentation web : barre latérale de navigation
Nouveau dans la documentation web : barre latérale de navigation
Et encore plus…
Et encore plus…