Résumé
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. Néanmoins, aucun consensus ne définit précisément ce qu'est un langage dédié. Ce manque de définition précise sur la nature d'un langage dédié rend délicate la tâche d'établir un historique clair sur l'origine du concept. En informatique, les langages dédiés traitent divers domaines informatiques (pilotes informatiques, le calcul scientifique, les bases de données) ou traitent de différents autres domaines où intervient l'informatique (médecine, aéronautique). L'utilisation d'un langage dédié n'est pas propre à l'informatique, il existe des langages dédiés aux domaines de la médecine, de la cuisine. 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 une double compétence sur le domaine à traiter et en développement informatique. Qu'il soit langage dédié interne ou externe, la mise en œuvre de ce type de langage requiert l'utilisation de patron de conception. Il existe des patrons de conceptions décrivant l’implémentation comme le décrit Spinellis et décrivant plutôt les phases de développement du langage. Ces deux approches, bien qu'étant fondées sur des idées différentes, se complètent l'une et l'autre. L'utilisation de langages dédiés présente des avantages et des inconvénients par rapport à l'utilisation de langages généralistes. La justification de l'utilisation de langages dédiés peut se faire en fonction de considérations d'ordre technologique, ou d'ordre financier. D'autre part, les avantages et les inconvénients ne sont pas les mêmes qu'il s'agisse d'un langage dédié interne ou externe. Il existe des langages dédiés dans d'autres domaines que l'informatique.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (12)
PENS-230: Digital ENAC: le codage en contexte
Digital ENAC aims to provide students with the ability to apply the principles of coding to the practical life of designers and engineers. We will not focus on a specific coding language, but will ext
AR-439: UE F : Architecture and rehabilitation
L'UE vise à sensibiliser les étudiants aux enjeux d'un projet de réhabilitation. Elle se concentre sur les rapports entre les impératifs liés à la réhabilitation et à une vision architecturale élargie
CS-472: Design technologies for integrated systems
Hardware compilation is the process of transforming specialized hardware description languages into circuit descriptions, which are iteratively refined, detailed and optimized. The course presents a
Afficher plus