Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
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.
Josephine Anna Eleanor Hughes, Sudong Lee
Olga Fink, Ismail Nejjar, Mengjie Zhao
Lionel Emile Vincent Parreaux, Aleksander Slawomir Boruch-Gruszecki