Vim 9.0 est disponible

Par:
fredericmazue

mer, 29/06/2022 - 11:52

Dans le monde des systèmes de type UNIX, il y a les inconditionnels d'Emacs et les inconditionnels de Vim. Ces derniers seront ravis d'apprendre que, plus deux ans après la sortie de Vim 8.2, Vim 9.0 est disponible. Pour ceux qui ne le connaîtraient pas, Vim est un éditeur de texte hautement configurable conçu pour rendre la création et la modification de tout type de texte très efficace.

La grande nouveauté de Vim 9.0 est l'arrivée d'une nouvelle incarnation du langage de script de Vim : Vim9

Pourquoi ce nouveau langage de script ? Les développeurs de Vim expliquent que le langage de script Vim s'est développé au fil du temps, tout en préservant la rétrocompatibilité. Cela signifie que les mauvais choix du passé ne peuvent souvent pas être modifiés et que la compatibilité avec Vi limite les solutions possibles. L'exécution est assez lente, chaque ligne est analysée à chaque fois qu'elle est exécutée.

L'objectif principal de Vim9 est d'améliorer considérablement les performances. Ceci est accompli en compilant les commandes en instructions qui peuvent être exécutées efficacement. Une augmentation de la vitesse d'exécution de 10 à 100 fois peut être attendue.

Un objectif secondaire est d'éviter les constructions spécifiques à Vim et de se rapprocher des langages de programmation couramment utilisés, tels que JavaScript, TypeScript et Java.

Les améliorations de performances ne peuvent être obtenues qu'en n'étant pas rétrocompatibles à 100%. Par exemple, rendre les arguments de fonction disponibles en créant un dictionnaire "a:" implique une surcharge importante. Dans une fonction Vim9, ce dictionnaire n'est pas disponible. Il y a d'autres différences plus subtiles, comme la façon dont les erreurs sont gérées. Mais que ceux qui ont une grande collection de scripts hérités ne s'inquiètent pas ! Ces scripts continueront à fonctionner comme avant. Il n'est pas prévu d'abandonner la prise en charge des scripts hérités. Pas de drame comme avec la dépréciation de Python 2 précisent les développeurs de Vim..

Le langage de script Vim9 est documenté ici.