Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Analyste
    Inscrit en
    juillet 2013
    Messages
    2 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Analyste
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2013
    Messages : 2 283
    Points : 74 515
    Points
    74 515
    Billets dans le blog
    2
    Par défaut MPS 2019.2 : JetBrains annonce la disponibilité du premier Programme d’Accès Anticipé
    MPS 2019.2 : JetBrains annonce la disponibilité du premier Programme d’Accès Anticipé
    pour sa plateforme de développement de langages dédiés

    JetBrains prépare la sortie de la deuxième mise à jour majeure annuelle (2019.2) de Meta Programming System (MPS), son environnement de développement de langages dédiés. Et avant l'arrivée de la version finale, la première version anticipée ou EAP (Early Access Program) de MPS 2019.2 est disponible et utilisable gratuitement (comme toutes les versions EAP des différents produits JetBrains).

    Rappelons qu'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.

    Cette première version EAP de MPS 2019.2 donne un aperçu des nouveautés à venir dans la version finale, apporte de nombreuses améliorations et corrige un certain nombre de bogues. Parmi les principales nouveautés, on note par exemple la recherche en texte intégral dans les valeurs de propriété, de sorte que vous puissiez recherchez des nœuds avec des valeurs de propriété qui correspondent au texte spécifié.

    Précisons aussi que les processus make fonctionnent parfaitement en arrière-plan. JetBrains a en effet travaillé pour corriger certains problèmes, y compris améliorer la réactivité de l'interface utilisateur de l'EDI pendant qu'un processus make est en arrière-plan.

    Les améliorations de BaseLanguage étaient l’un des objectifs principaux de cette version et JetBrains a corrigé plus de 10 problèmes liés à BaseLanguage, allant de bogues à des problèmes de convivialité. 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.

    Dans MPS 2019.2, JetBrains a également ajouté un vérificateur orthographique pour les commentaires sur une seule ligne, les textes Javadoc et les littéraux de chaîne. Parmi les principales nouveautés dans la première EAP, notons enfin que, sur la base des commentaires de la communauté, JetBrains a ajouté un nouvel exemple de projet pour la génération XML.

    Télécharger MPS 2019.2 EAP1

    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    4 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : mars 2013
    Messages : 4 837
    Points : 125 604
    Points
    125 604
    Par défaut JetBrains annonce la disponibilité de MPS 2019.2, son environnement de développement de langages dédiés
    L'environnement de développement de langages dédiés MPS 2019.2 apporte la personnalisation des messages d'erreurs,
    Java 11 comme runtime et bien d'autres

    JetBrains a annoncé la disponibilité générale de la deuxième mise à jour majeure annuelle (2019.2) de 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.

    Cette version apporte de nouvelles fonctionnalités à différents sous-systèmes.

    Types de données d'énumération

    Les nouvelles déclarations de type de données d'énumération fournissent un moyen concis de déclarer une liste d'options: chaque option est exprimée avec un membre d'énumération nommé. Vous pouvez éventuellement modifier la présentation de l'éditeur pour certains membres et choisir le membre par défaut utilisé lorsqu'aucun membre n'est explicitement défini dans une propriété.

    Nom : enum.png
Affichages : 11069
Taille : 48,3 Ko

    Le langage SModel a également affiné l'expérience de travail avec les propriétés d'énumération. Désormais, la lecture et l'écriture de la propriété fonctionnent avec des occurrences typées membres d'énumération au lieu de valeurs primitives brutes, ce qui aide les développeurs à écrire du code avec moins d'erreurs.

    Nom : node.png
Affichages : 1117
Taille : 55,5 Ko

    De plus, l'éditeur a retravaillé toutes les opérations qui fonctionnent avec des énumérations

    Nom : retravaille.png
Affichages : 1092
Taille : 70,8 Ko

    L'instruction Enum Switch a été ajoutée au langage SModel, offrant ainsi la possibilité d'activer les membres d'énumérations. Elle peut également être utilisée comme expression pour évaluer différentes valeurs en fonction du membre d'énumération rencontré.

    Nom : rencontre.png
Affichages : 1061
Taille : 54,2 Ko

    Personnalisation des messages d'erreur

    Pendant un certain temps, il a été demandé de personnaliser certains messages d'erreur MPS. C'est chose faite. Dans cette version, tous les messages d'erreur du vérificateur de contrainte peuvent désormais être personnalisés.

    L'éditeur prévoit de rendre cette personnalisation des rapports disponible pour d’autres types d’erreurs dans les prochaines versions.

    Un nouvel aspect de langage nommé ‘feedback’ a été ajouté à cette version. Cet aspect peut être utilisé pour personnaliser le texte des messages d'erreur signalés par les contraintes de validation de structure, de propriété et de portée.

    Nom : portee.png
Affichages : 1065
Taille : 57,8 Ko

    Le feedback ‘ShowMessage’ définit le texte affiché dans l’info-bulle lorsque vous déplacez le curseur de la souris sur le nœud qui pose problème.

    Nom : feed.png
Affichages : 1052
Taille : 14,9 Ko

    Notez que vous pouvez définir vos propres commentaires personnalisés en étendant l'ensemble de langages de commentaires. Par exemple, vous pouvez décrire un commentaire mettant en évidence les arêtes ou les sommets dans l'éditeur de diagramme.

    Langage de contraintes basé sur des règles

    Un langage de contraintes basé sur des règles a été créé afin de remplacer la contrainte canBe * actuellement disponible par rapport au langage de contraintes MPS habituel. L'éditeur considère le langage de contraintes basé sur des règles comme une fonctionnalité expérimentale. Il s'attend donc à ce qu'il évolue de manière significative dans les prochaines versions.

    Nom : contrainte.png
Affichages : 1074
Taille : 153,3 Ko

    L'éditeur précise que « pour l’instant, nous gardons la priorité sur les contraintes de style ancien. Par conséquent, les anciennes contraintes canBe * doivent être complètement supprimées afin de permettre aux contraintes basées sur des règles d’intervenir. Le nouveau langage de définition de contraintes est plus déclaratif, il oblige le concepteur de langage à spécifier un ensemble de contraintes (règles) au lieu du bloc conditionnel unique ».

    La version 2019.2 permet de fournir un message d'erreur personnalisé pour chaque règle individuellement.

    Nom : personnalise.png
Affichages : 1049
Taille : 52,6 Ko

    Historique Racine

    Le menu Git contient une nouvelle action pour afficher l'historique des modifications apportées par VCS à une racine spécifique. L’action est disponible dans le menu contextuel de l’éditeur:

    Nom : historique.png
Affichages : 1050
Taille : 85,9 Ko

    Notez que la collecte de l'historique racine, comme pour presque toutes les autres actions de l'historique VCS, prend beaucoup de temps. La barre d’état contient un indicateur de progression qui vous aide à supporter cela.

    La boîte de dialogue est similaire à la boîte de dialogue Historique de sélection dans IntelliJ IDEA.

    Une liste des révisions dans la boîte de dialogue affiche les révisions d'un fichier de modèle lorsque la racine correspondante a été modifiée.

    Recherche avec un texte intégral

    La recherche avec un texte intégral dans les valeurs de propriété est prête. Édition–> Rechercher–> Rechercher du texte dans l'action du projet (Ctrl + Alt + Maj + F) vous permet de rechercher des nœuds avec des valeurs de propriété correspondant au texte spécifié.

    Nom : recherche.png
Affichages : 1037
Taille : 91,7 Ko

    Vérification d'erreur spécifique

    L'un des cas d'utilisation courants d'un langage de test consiste à rechercher des messages d'erreur ou des avertissements dans les nœuds. Le sous-système de test de MPS n’était parfois pas en mesure de faire la distinction entre différentes erreurs apparaissant sur le même nœud. Cela pouvait entraîner un comportement trompeur: même si l'utilisateur spécifie l'erreur attendue dans l'annotation de test correspondante, les erreurs et les avertissements supplémentaires signalés sur ce nœud ne seront pas signalés en tant que violations de test.

    Nom : warning.png
Affichages : 1030
Taille : 16,3 Ko

    Règles de vérification définies pour les modèles

    Lorsque vous définissez une règle de vérification pour un concept, cette règle est ensuite appelée pour chaque nœud constituant une instance du concept.

    Désormais, au lieu de remplacer une règle héritée du superconcept, vous pouvez spécifier explicitement la liste des règles à remplacer. L'éditeur recommande vivement de passer en revue toutes vos règles de vérification utilisant la fonctionnalité de remplacement et de déterminer quelles règles doivent être remplacées.

    Auparavant, il était possible de définir la règle de vérification pour un concept utilisant un langage de modèle. Cette option peut être utilisée pour restreindre la condition d'applicabilité des règles (par rapport aux règles définies uniquement pour un concept) et pour nommer facilement des propriétés, des enfants, des petits-enfants, etc. Les deux objectifs peuvent être atteints en utilisant un langage de modèle à l'intérieur du corps de la règle, en particulier, en utilisant l'instruction [B]matches[/C] au-dessus de son bloc do:

    Nom : match.png
Affichages : 1023
Taille : 86,2 Ko

    Java 11 comme runtime

    MPS s'exécutera maintenant sous JDK 11. La plupart des projets n’auront pas besoin de migration, sauf les rares utilisations de certaines classes et de certains champs reconditionnés dans JDK 11.

    Dans le plug-in IntelliJ IDEA, les modules avec la facette MPS doivent maintenant être associés à JDK version 11. Sinon, la génération de code échoue.

    Télécharger MPS 2019.2

    Source : blog JetBrains

    Voir aussi :

    JetBrains publie la version 2019.2 de DataGrip, son EDI destiné aux administrateurs de bases de données et développeurs travaillant avec des SGBD SQL
    CLion 2019.2 disponible, l'EDI C/C++ de JetBrains apporte des améliorations pour le développement embarqué et un débogueur expérimental MSVC
    Voici l'état de l'écosystème des développeurs en 2019 : l'évolution du monde du code, d'après une enquête menée par Jetbrains
    WebStorm 2019.2 disponible : tour d'horizon des nouveautés de l'EDI de JetBrains pour les développeurs JavaScript
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

Discussions similaires

  1. Sortie de DataGrip 2019.3
    Par Michael Guilloux dans le forum JetBrains
    Réponses: 2
    Dernier message: Aujourd'hui, 08h21
  2. Réponses: 2
    Dernier message: 03/06/2019, 15h28
  3. Réponses: 0
    Dernier message: 19/04/2019, 16h26
  4. Réponses: 5
    Dernier message: 24/07/2009, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo