JetBrains annonce la sortie de la version 2019.1 de Meta Programming System (MPS)
Son environnement de développement de langages dédiés (DSL)

Le , par Michael Guilloux

60PARTAGES

10  0 
À l'instar de la plupart de ses EDI, JetBrains a annoncé la sortie de la première mise à jour majeure de cette année pour Meta Programming System (MPS), son environnement de développement de langages dédiés.

Un langage dédié (en anglais, Domain specific language ou DSL) est un langage de programmation dont les spécifications sont conçues pour répondre aux contraintes d’un domaine d'application précis. Il s'oppose conceptuellement aux langages de programmation classiques (ou généralistes) comme Java ou C, qui tendent à traiter un ensemble de domaines. Dans de nombreux cas, les DSL ne sont pas conçus pour être utilisés par des développeurs, mais par des non-programmeurs maîtrisant parfaitement le domaine couvert par le langage dédié.

La construction des langages dédiés diffère fondamentalement de celle d'un langage classique. Le processus de développement peut s’avérer très complexe. Sa conception nécessite en effet une double compétence dans le domaine à traiter et en développement informatique. Mais un langage dédié étant basé sur les concepts et les fonctionnalités d'un domaine spécifique, il reste un moyen efficace de décrire et de générer des programmes dans ce domaine ; ce que veut faciliter JetBrains avec MPS.

MPS vous permet de concevoir votre propre langage dédié avec un environnement de développement complet. Il offre un éditeur de code et est fourni avec son propre moteur de génération de code, qui peut être utilisé pour fournir une sémantique aux DSL basés sur MPS. Vous pouvez donc créer des générateurs pour compiler votre DSL dans plusieurs langages cibles, tels que Java, C, XML, etc.

Pour ceux qui sont déjà familiarisés avec MPS, l'EDI de JetBrains pour les langages dédiés embarque un bon lot de nouveautés dans sa version 2019.1. Au niveau de l'éditeur par exemple, les concepteurs de langage peuvent désormais définir le style et la priorité des éléments du menu de complétion de code. Il est possible de changer la couleur de fond et du texte, mettre un élément en gras ou italique, et même de masquer des éléments, comme cela est illustré dans l'image suivante. Notez toutefois que cette fonctionnalité est expérimentale et que sa conception peut subir des modifications dans le futur.



Au niveau de BaseLanguage, la principale nouveauté est que MPS vous permet maintenant de créer des méthodes statiques dans des interfaces. Pour information, BaseLanguage est un langage équivalent à Java, qui partage avec Java presque le même ensemble de constructeurs. Il a en effet été créé en tant que copie de Java 6 avant de se doter de plusieurs extensions au fil du temps. BaseLanguage est également la cible la plus courante de la génération de code dans MPS.



MPS 2019.1 améliore aussi sa prise en charge des plug-ins. Il est par exemple possible d'utiliser les plug-ins MPS à partir de la tâche de migration Ant : maintenant, si un plug-in est nécessaire à la migration d'un projet, vous pouvez le spécifier dans la tâche <migrate>. Le plug-in correspondant sera activé, ainsi que ses dépendances.



En outre, l'instruction "run code from solution" vous permet d'activer des plug-ins dans l'instance MPS qui exécutera le code. Les dépendances du plug-in seront également incluses.



Bon nombre d'améliorations ont été apportées à l'EDI. L'une d'entre elles est la possibilité de créer un thème d'interface utilisateur personnalisé. La plateforme IntelliJ vient d'introduire cette fonctionnalité intéressante et, puisque MPS est basé sur cette plateforme, vous pouvez désormais personnaliser les thèmes de l'interface utilisateur pour votre EDI. Vous pouvez le faire de deux manières : importer les nouveaux thèmes prédéfinis sous forme de plug-ins ou créer simplement vos propres thèmes avec Intellij IDEA.



Toujours au niveau de l'EDI, la configuration d'exécution de JUnit accepte désormais le déploiement des plug-ins. Vous pouvez maintenant fournir une liste de plug-ins IntelliJ IDEA à déployer lors de l'exécution d'un test. La tâche Before launch "Assemble Plugins" est également disponible dans la configuration d'exécution de JUnit. Elle génère automatiquement les plug-ins qui sont en train d'être déployés et copie les artefacts dans le répertoire des paramètres.



Entre autres améliorations, l'EDI indique maintenant si les validations (commits) entrantes et sortantes sont disponibles pour les branches individuelles dans la fenêtre contextuelle Branches.

Vous trouverez la liste exhaustive des nouveautés et améliorations dans MPS 2019.1 sur le site officiel de l'EDI. Mais ajoutons encore pour les utilisateurs de MPS que toute la documentation est en train d'être migrée de Confluence vers le centre d’aide de JetBrains. Plus d'améliorations sont prévues de ce côté dans les prochaines versions de l'environnement de développement de langages dédiés.

Télécharger MPS

Source : Annonce officielle de JetBrains

Voir aussi :

IntelliJ IDEA 2019.1 est disponible, l'EDI pour Java vient avec les expressions Switch et offre enfin la possibilité de personnaliser les thèmes
CLion 2019.1 disponible : l'EDI C/C++ vient avec un meilleur support du développement embarqué, ClangFormat comme formateur de code alternatif et plus
Python en 2018, les chiffres clés de la communauté : EDI, frameworks, utilisation, SGBD, ORM, tests...
WebStorm 2019.1 disponible : tour d'horizon des nouveautés de l'EDI de JetBrains pour les développeurs JavaScript
IntelliJ IDEA, PhpStorm, PyCharm... Il est enfin possible de personnaliser des thèmes en couleur pour les EDI JetBrains grâce à un changement dans la plateforme IntelliJ
JetBrains fait le bilan de son année 2018 : six millions de développeurs ont utilisé ses produits, plus d'un million de licences ont été offertes

Une erreur dans cette actualité ? Signalez-le nous !

Contacter le responsable de la rubrique JetBrains

Partenaire : Hébergement Web