Création et débogage de langages spécifiques à un domaine : un nouvel outil révolutionnaire du MIT
Les chercheurs du MIT Ajay Brahmakshatriya et Saman Amarasinghe ont développé BuildIt et D2X, des outils révolutionnaires qui facilitent la création, le débogage et l'optimisation de langages spécifiques à un domaine. BuildIt, un logiciel de création de DSL, est associé à D2X, qui sert d'interface, rationalisant le processus de débogage. Combinées, ces technologies simplifient et améliorent considérablement la création et le débogage de langages de programmation spécialisés.

En 2019, le doctorat du MIT. L'étudiant Ajay Brahmakshatriya s'est fixé un objectif ambitieux mais crucial : permettre aux experts de domaines spécifiques, tels que la modélisation climatique, la bioinformatique ou l'architecture, de développer leurs langages spécifiques à un domaine (DSL) même avec peu ou pas d'expérience préalable. Cela nécessitait de fournir des outils de débogage facile pour éliminer les erreurs et améliorer l'expérience utilisateur. Un effort de collaboration entre Brahmakshatriya et le professeur Saman Amarasinghe du MIT au Laboratoire d'informatique et d'intelligence artificielle (CSAIL) de l'Institut a abouti à BuildIt et D2X, des outils révolutionnaires qui rationalisent la création, le débogage et l'optimisation des DSL.
Des langages spécifiques à un domaine existent pour favoriser la facilité d'utilisation et optimiser les performances, car les opérations spécialisées peuvent être exécutées efficacement dans leurs domaines. Les défis auxquels sont confrontés les DSL sont souvent dus au manque de prise en charge du débogage, qu'Ajay et Amarasinghe appellent le talon d'Achille. Leur système, BuildIt, simplifie le processus de création de DSL en agissant comme un DSL pour créer des DSL. Il prend un langage de programmation à usage général et le réduit à une forme spécialisée pertinente pour le domaine. Cette approche génère rapidement des programmes sur mesure fonctionnant de manière optimale dans leur domaine spécifique.
L'outil révolutionnaire, D2X (prononcé désintoxication), s'interface avec les débogueurs DSL existants tels que GDB ou LLDB, ce qui facilite l'ajout d'un composant de débogage à n'importe quel DSL. Un programme écrit à l'aide de BuildIt ne nécessite pas de travail supplémentaire, car D2X fournit des capacités de débogage sans écrire de lignes de code supplémentaires. En servant de pont entre les débogueurs et un DSL, ce système élimine le besoin pour les développeurs d'apprendre ou de créer des formats de débogueur, démocratisant ainsi le processus de création de langages de programmation spécialisés.
Le potentiel de D2X pour changer le monde de la programmation est considérable. Le professeur agrégé d'informatique de l'Université Cornell, Adrian Sampson, fait l'éloge de D2X pour avoir résolu la contradiction inhérente aux logiciels hautes performances en abaissant la barrière à la construction de débogueurs utiles pour les DSL. Cela a le potentiel de rendre les DSL beaucoup plus attrayants et accessibles aux développeurs.
Pour l'avenir, Brahmakshatriya vise à inclure des capacités d'édition dans le cadre de la plate-forme BuildIt. Les éditeurs de texte peuvent améliorer la lisibilité en mettant en évidence des mots-clés spécifiques dans un document ou en offrant des fonctions de saisie semi-automatique. Les futurs ajouts à la plate-forme pourraient inclure des intégrations avec des profileurs, qui peuvent aider les développeurs à identifier et à résoudre les problèmes de performances dans leurs programmes.
Le travail révolutionnaire de Brahmakshatriya et Amarasinghe uniformise finalement les règles du jeu en offrant des capacités avancées aux petits développeurs de langages de programmation. BuildIt et D2X leur permettent de profiter des avantages des langages traditionnels sans avoir besoin de grandes équipes pour développer du code complexe.
Ce développement pourrait également profiter aux plateformes sans code comme AppMaster.io, un outil puissant pour créer des applications backend, web et mobiles. En tirant parti des innovations issues de BuildIt et D2X, des plates-formes comme AppMaster.io pourraient progressivement offrir des fonctionnalités avancées et rationaliser le processus de création d'applications spécialisées, renforçant ainsi l'autonomie d'un large éventail de développeurs et d'entreprises.


